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
Bir SecureString nesnesini bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
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.
İlişkili Bağlantılar
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin