ConvertFrom-SecureString

Güvenli bir dizeyi şifrelenmiş standart dizeye dönüştürür.

Syntax

ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [[-SecureKey] <SecureString>]
                [<CommonParameters>]
ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [-AsPlainText]
                [<CommonParameters>]
ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [-Key <Byte[]>]
                [<CommonParameters>]

Description

Cmdlet, ConvertFrom-SecureString güvenli bir dizeyi (System.Security.SecureString) şifrelenmiş bir standart dizeye (System.String) dönüştürür. Güvenli bir dizeden farklı olarak, şifrelenmiş bir standart dize daha sonra kullanmak üzere bir dosyaya kaydedilebilir. Şifrelenmiş standart dize, cmdlet'i kullanılarak güvenli dize biçimine ConvertTo-SecureString geri dönüştürülebilir.

Anahtar veya SecureKey parametreleri kullanılarak bir şifreleme anahtarı belirtilirse, Gelişmiş Şifreleme Standardı (AES) şifreleme algoritması kullanılır. Belirtilen anahtarın uzunluğu 128, 192 veya 256 bit olmalıdır çünkü bunlar AES şifreleme algoritması tarafından desteklenen anahtar uzunluklarıdır. Anahtar belirtilmezse, standart dize gösterimini şifrelemek için Windows Veri Koruma API'si (DPAPI) kullanılır.

Not

DotNet başına, SecureString içeriğinin Windows dışı sistemlerde şifrelenmediğini unutmayın.

Örnekler

Örnek 1: Güvenli dize oluşturma

$SecureString = Read-Host -AsSecureString

Bu komut, komut isteminde yazdığınız karakterlerden güvenli bir dize oluşturur. Komutu girdikten sonra, güvenli dize olarak depolamak istediğiniz dizeyi yazın. Yazdığınız her karakteri temsil eden bir yıldız işareti (*) görüntülenir.

Örnek 2: Güvenli bir dizeyi şifrelenmiş standart dizeye dönüştürme

$StandardString = ConvertFrom-SecureString $SecureString

Bu komut, değişkendeki $SecureString güvenli dizeyi şifrelenmiş bir standart dizeye dönüştürür. Sonuçta elde edilen şifrelenmiş standart dize değişkende $StandardString depolanır.

Örnek 3: Güvenli dizeyi 192 bit anahtarla şifrelenmiş standart dizeye dönüştürme

$Key = (3,4,2,3,56,34,254,222,1,1,2,23,42,54,33,233,1,34,2,7,6,5,35,43)
$StandardString = ConvertFrom-SecureString $SecureString -Key $Key

Bu komutlar, değişkende $SecureString depolanan güvenli dizeyi 192 bit anahtarla şifrelenmiş bir standart dizeye dönüştürmek için Gelişmiş Şifreleme Standardı (AES) algoritmasını kullanır. Sonuçta elde edilen şifrelenmiş standart dize değişkende $StandardString depolanır.

İlk komut değişkende $Key bir anahtar depolar. Anahtar, her biri tek bir işaretsiz bayta sığması için 256'dan az olması gereken 24 ondalık sayıdan oluşan bir dizidir.

Her ondalık sayı tek bir bayt (8 bit) temsil ettiğinden, anahtarda toplam 192 bit (8 x 24) için 24 basamak vardır. Bu, AES algoritması için geçerli bir anahtar uzunluğudur.

İkinci komut, güvenli dizeyi şifrelenmiş bir standart dizeye dönüştürmek için değişkendeki $Key anahtarı kullanır.

Örnek 4: Güvenli dizeyi doğrudan düz metin dizesine dönüştürme

$secureString = ConvertTo-SecureString -String 'Example' -AsPlainText
$secureString # 'System.Security.SecureString'
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'

Parametreler

-AsPlainText

Ayarlandığında, ConvertFrom-SecureString güvenli dizeleri şifresi çözülen düz metin dizesine çıkış olarak dönüştürür.

Bu parametre PowerShell 7.0'a eklendi.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Key

Şifreleme anahtarını bayt dizisi olarak belirtir.

Type:Byte[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecureKey

Şifreleme anahtarını güvenli dize olarak belirtir. Güvenli dize değeri, anahtar olarak kullanılmadan önce bayt dizisine dönüştürülür.

Type:SecureString
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecureString

Şifrelenmiş standart dizeye dönüştürülecek güvenli dizeyi belirtir.

Type:SecureString
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Girişler

SecureString

Bir SecureString nesnesini bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

String

Bu cmdlet, oluşturulan düz metin dizesini döndürür.

Notlar

  • Komut isteminde yazılan karakterlerden güvenli bir dize oluşturmak için cmdlet'in Read-Host AsSecureString parametresini kullanın.
  • Anahtar belirtmek için Key veya SecureKey parametrelerini kullandığınızda, anahtar uzunluğu doğru olmalıdır. Örneğin, 128 bitlik bir anahtar, 16 ondalık rakamdan oluşan bir bayt dizisi olarak belirtilebilir. Benzer şekilde, 192 bit ve 256 bit tuşlar sırasıyla 24 ve 32 ondalık sayı bayt dizilerine karşılık gelir.
  • İfadeler gibi bazı karakterler, bunları içeren dizedeki birkaç kod noktasına karşılık gelir. Parolada kullanıldığında sorunlara ve yanlış anlamalara neden olabilecekleri için bu karakterleri kullanmaktan kaçının.