当您加密保密信息时,主要的问题是要寻找一个合适的密钥。一个特别安全的密钥是您的 Windows 身份,它和您的计算机身份绑定。这可以用来在特定的机器上加密敏感的个人信息。
以两个函数演示了如何实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| function Decrypt-Text {
param ( [String] [Parameter(Mandatory,ValueFromPipeline)] $EncryptedText ) process { $secureString = $EncryptedText | ConvertTo-SecureString $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString) [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) } }
function Encrypt-Text {
param ( [String] [Parameter(Mandatory,ValueFromPipeline)] $Text ) process { $Text | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString } }
'PowerShell Rocks' | Encrypt-Text 'Hello, World!' | Encrypt-Text | Decrypt-Text
|
您可以将密文安全地保存到文件里。只有您可以读取并解密该文件,而且只能在加密用的电脑上完成。