Powershell实现加密解密文本文件方法实例
适用于Powershell3.0及以后版本。
假设你需要给文件加密,下面教你如何给自己的文件加密:
$Path="$env:temp\secret.txt" $Secret='HelloWorld!' $Passphrase='Somesecretkey' $key=[Byte[]]($Passphrase.PadRight(24).Substring(0,24).ToCharArray()) $Secret| ConvertTo-SecureString-AsPlainText-Force| ConvertFrom-SecureString-Key$key| Out-File-FilePath$Path notepad$Path
当你需要解密出里面的内容,这时就需要最初的密码:
$Passphrase=Read-Host'Enterthesecretpassphrase'
$Path="$env:temp\secret.txt"
$key=[Byte[]]($Passphrase.PadRight(24).Substring(0,24).ToCharArray())
try
{
$decryptedTextSecureString=Get-Content-Path$Path-Raw|
ConvertTo-SecureString-Key$key-ErrorActionStop
$cred=New-Object-TypeNameSystem.Management.Automation.PSCredential('dummy',$decryptedTextSecureString)
$decryptedText=$cred.GetNetworkCredential().Password
}
catch
{
$decryptedText='(wrongkey)'
}
"Thedecryptedsecrettext:$decryptedText"