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
Cmdlet ConvertFrom-SecureString
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 cmdlet ConvertTo-SecureString
.
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.
Nota
Untuk informasi selengkapnya tentang perlindungan data SecureString, lihat Seberapa aman SecureString?.
Contoh
Contoh 1: Membuat string aman
$SecureString = Read-Host -AsSecureString
Perintah ini membuat string aman dari karakter yang Anda ketik di baris 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 variabel $SecureString
menjadi string standar terenkripsi. String standar terenkripsi yang dihasilkan disimpan dalam variabel $StandardString
.
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 variabel $SecureString
ke string standar terenkripsi dengan kunci 192-bit. String standar terenkripsi yang dihasilkan disimpan dalam variabel $StandardString
.
Perintah pertama menyimpan kunci dalam variabel $Key
. 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 variabel $Key
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
Saat diatur, ConvertFrom-SecureString
akan mengonversi string aman ke string teks biasa yang didekripsi sebagai output.
Parameter ini ditambahkan di PowerShell 7.0.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Key
Menetapkan kunci enkripsi sebagai array byte.
Jenis: | Byte[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-SecureKey
Menentukan kunci enkripsi sebagai string aman. Nilai string aman dikonversi ke array byte sebelum digunakan sebagai kunci.
Jenis: | SecureString |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-SecureString
Menentukan string aman untuk dikonversi ke string standar terenkripsi.
Jenis: | SecureString |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan objek SecureString ke cmdlet ini.
Output
Cmdlet ini mengembalikan string teks biasa yang dibuat.
Catatan
- Untuk membuat string aman dari karakter yang diketik pada command prompt, gunakan parameter AsSecureString dari cmdlet
Read-Host
. - Saat Anda menggunakan parameter Key atau SecureKey untuk menentukan kunci, panjang kunci harus benar. Misalnya, kunci berukuran 128 bit dapat ditentukan sebagai array byte yang terdiri dari 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.