PowerShell パスワードを暗号化

社内SE

ConvertTo-SecureStringを介して暗号化する

“password”という文字列を暗号化

> $pass = ConvertTo-SecureString "password" -AsPlainText -Force   
> $pass
System.Security.SecureString

さらに暗号化された文字列に変換

> $encrypt = ConvertFrom-SecureString -SecureString $pass
> $encrypt
01000000d08c9ddf0115d1118c7a00c04fc297eb01000000683ee703c7852840b7d52503e6e0fb4a0000000002000000000003660000c000000010000000c6591f18303b39a8092438c5aa1481920000000004800000a0000000100000006821bac7557dbe6c2526ad384534684a180000007119c867725b6caa2bd58ad3a00c854fe55af8305b8b48661400000064e06de0acbb851705f22cf7ec6166e90e1e278f

パスワードを復号

復号もまたConvertTo-SecureStringを使用します。先ほど$encryptに保存された暗号化された文字列を元の”password”に戻し

> $decrypt = ConvertTo-SecureString -String $encrypt
> $decrypt 
System.Security.SecureString
> $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($decrypt)
> $BSTR
1521718353976
> $plaintext = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($BSTR)
> $plaintext
password

コメント