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"