A構文とsecurestringを作成することである -パスワードsecurekeyをConvertTo-SecureStringため
をConvertTo-SecureString [-string] [[-SecureKey]]
私が作成し、これを使用したいですDPAPIではなくユーザーのパスワードに基づく安全な文字列です。
そう私は、次のコード
$key = New-Object byte[](32)
$rng = [System.Security.Cryptography.RNGCryptoServiceProvider]::Create()
$rng.GetBytes($key)
とsecurekeyを作成することができるが、ドキュメント
に係る有効なキーの長さは16、24、及び32バイト
ありますそのサイズに収まるようにパスワードを入力するのが難しくなります。
"correcthorsebatterystaple"を32byteのキーに変換するにはどうすればよいですか? (私は別のマシンに行き、同じパスワードを使って安全な文字列を解読できるように)
固定長の暗号化キーを使用するにはちょっと変わったところがありますか?しかし、あなたMD5ハッシュすることができます - その出力は32バイトです。例えばhttp://stackoverflow.com/a/10521162/478656 - 私はそれがセキュリティの観点からは素晴らしい考えではないと考えていますが、新しいSHAハッシュは32バイトではありませんか? – TessellatingHeckler
@TessellatingHeckler私の研究の一環としてこれを理解する!それはAES標準の一部であるようです - 128,192または256ビットのキー長が可能です。理論はあなたが塩を作り、パスワードと一緒にそれをクランチしてから鍵を得ることだと思われます。 –
PBKDF、bcrypt、またはscryptを調べますが、私はまだ答えを出すコードを持っています。 – dandavis