ConvertFrom-SecureString

Mengonversi string aman ke string standar terenkripsi.

Sintaks

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

Deskripsi

ConvertFrom-SecureString Cmdlet mengonversi string aman (System.Security.SecureString) menjadi string standar terenkripsi (System.String). Tidak seperti string aman, string standar terenkripsi dapat disimpan dalam file untuk digunakan nanti. String standar terenkripsi dapat dikonversi kembali ke format string amannya dengan menggunakan ConvertTo-SecureString cmdlet.

Jika kunci enkripsi ditentukan dengan menggunakan parameter Key atau SecureKey , algoritma enkripsi Advanced Encryption Standard (AES) digunakan. Kunci yang ditentukan harus memiliki panjang 128, 192, atau 256 bit karena itu adalah panjang kunci yang didukung oleh algoritma enkripsi AES. Jika tidak ada kunci yang ditentukan, Windows Data Protection API (DPAPI) digunakan untuk mengenkripsi representasi string standar.

Catatan

Perhatikan bahwa per DotNet, konten SecureString tidak dienkripsi pada sistem non-Windows.

Contoh

Contoh 1: Membuat string aman

$SecureString = Read-Host -AsSecureString

Perintah ini membuat string aman dari karakter yang Anda ketik di prompt perintah. Setelah memasukkan perintah, ketik string yang ingin Anda simpan sebagai string aman. Tanda bintang (*) ditampilkan untuk mewakili setiap karakter yang Anda ketik.

Contoh 2: Mengonversi string aman ke string standar terenkripsi

$StandardString = ConvertFrom-SecureString $SecureString

Perintah ini mengonversi string aman dalam $SecureString variabel menjadi string standar terenkripsi. String standar terenkripsi yang dihasilkan disimpan dalam $StandardString variabel .

Contoh 3: Mengonversi string aman ke string standar terenkripsi dengan kunci 192-bit

$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

Perintah ini menggunakan algoritma Standar Enkripsi Lanjutan (AES) untuk mengonversi string aman yang disimpan dalam $SecureString variabel ke string standar terenkripsi dengan kunci 192-bit. String standar terenkripsi yang dihasilkan disimpan dalam $StandardString variabel .

Perintah pertama menyimpan kunci dalam $Key variabel. Kuncinya adalah array 24 angka desimal, yang masing-masing harus kurang dari 256 agar pas dalam satu byte yang tidak ditandatangani.

Karena setiap angka desimal mewakili byte tunggal (8 bit), kunci memiliki 24 digit untuk total 192 bit (8 x 24). Ini adalah panjang kunci yang valid untuk algoritma AES.

Perintah kedua menggunakan kunci dalam $Key variabel untuk mengonversi string aman ke string standar terenkripsi.

Contoh 4: Mengonversi string aman langsung ke string teks biasa

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

Parameter

-AsPlainText

Ketika diatur, ConvertFrom-SecureString akan mengonversi string aman ke string teks biasa yang didekripsi sebagai output.

Parameter ini ditambahkan di PowerShell 7.0.

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

-Key

Menentukan kunci enkripsi sebagai array byte.

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

-SecureKey

Menentukan kunci enkripsi sebagai string aman. Nilai string aman dikonversi ke array byte sebelum digunakan sebagai kunci.

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

-SecureString

Menentukan string aman untuk dikonversi ke string standar terenkripsi.

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

Input

SecureString

Anda dapat menyalurkan objek SecureString ke cmdlet ini.

Output

String

Cmdlet ini mengembalikan string teks biasa yang dibuat.

Catatan

  • Untuk membuat string aman dari karakter yang ditik pada prompt perintah, gunakan parameter AsSecureString cmdlet Read-Host .
  • Saat Anda menggunakan parameter Key atau SecureKey untuk menentukan kunci, panjang kunci harus benar. Misalnya, kunci 128 bit dapat ditentukan sebagai array byte 16 angka desimal. Demikian pula, kunci 192-bit dan 256-bit sesuai dengan array byte masing-masing 24 dan 32 angka desimal.
  • Beberapa karakter, seperti emotikon, sesuai dengan beberapa titik kode dalam string yang berisinya. Hindari menggunakan karakter ini karena dapat menyebabkan masalah dan kesalahpahaman saat digunakan dalam kata sandi.