Bagikan melalui


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

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 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.