Bagikan melalui


ConvertFrom-SecureString

Mengonversi string aman ke string standar terenkripsi.

Sintaks

Secure (Default)

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

AsPlainText

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

Open

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

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

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

AsPlainText
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Key

Menetapkan kunci enkripsi sebagai array byte.

Properti parameter

Jenis:

Byte[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

Open
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-SecureKey

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

Properti parameter

Jenis:SecureString
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

Secure
Position:1
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-SecureString

Menentukan string aman untuk dikonversi ke string standar terenkripsi.

Properti parameter

Jenis:SecureString
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

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.