Aracılığıyla paylaş


ConvertFrom-SecureString

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

Sözdizimi

Secure EnterprisePublishing

ConvertFrom-SecureString
    [-SecureString] <SecureString>
    [[-SecureKey] <SecureString>]
    [<CommonParameters>]

AsPlainText

ConvertFrom-SecureString
    [-SecureString] <SecureString>
    [-AsPlainText]
    [<CommonParameters>]

Open

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

Description

ConvertFrom-SecureString cmdlet'i, güvenli bir dizeyi (System.Security.SecureString) şifrelenmiş standart bir 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, ConvertTo-SecureString cmdlet'i kullanılarak güvenli dize biçimine geri dönüştürülebilir.

Şifreleme anahtarı Anahtar veya SecureKey parametreleri kullanılarak 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.

Uyarı

DotNetile belirtildiği üzere, SecureString içeriğinin Windows dışındaki 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, $SecureString değişkenindeki güvenli dizeyi şifrelenmiş bir standart dizeye dönüştürür. Sonuçta elde edilen şifrelenmiş standart dize $StandardString değişkeninde 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, $SecureString değişkeninde 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 $StandardString değişkeninde depolanır.

İlk komut $Key değişkeninde 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 $Key değişkenindeki 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ülmüş düz metin dizesine çıkış olarak dönüştürür.

Bu parametre PowerShell 7.0'a eklendi.

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

AsPlainText
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Key

Şifreleme anahtarını bayt dizisi olarak belirtir.

Parametre özellikleri

Tür:

Byte[]

Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

Open
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer: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.

Parametre özellikleri

Tür:SecureString
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

Secure
Position:1
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-SecureString

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

Parametre özellikleri

Tür:SecureString
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:0
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

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 parametresini kullanın.
  • Anahtar belirtmek için Anahtarı 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.