Powershell 利用machinekay实现加解密

本文提供了一种使用PowerShell进行密码加密和解密的方法。通过MachineKey组件实现数据保护,确保了密码的安全存储和传输。需注意的是,此脚本适用于PowerShell 3.0及更高版本。

function Encrypt-Password {
param (
[String] $Password,
[String] $Purpose = "default"
)

if ($PSVersionTable.PsVersion.Major -gt 2) {
[Reflection.Assembly]::LoadWithPartialName("System.Web")

$enc = [system.Text.Encoding]::UTF8
$data1 = $enc.GetBytes($Password)

$enc = [System.Convert]::ToBase64String([System.Web.Security.MachineKey]::Protect($data1, $Purpose))

Write-Host $enc
} else {
Write-Warning "Powershell Version 2 installed. Needs Powershell Version 3 or higher."
Write-Warning "Unable to replace password."
}
}
function Decrpt-Password {
param (
[String] $Password,
[String] $Purpose = "default"
)

if ($PSVersionTable.PsVersion.Major -gt 2) {
[Reflection.Assembly]::LoadWithPartialName("System.Web")

$data1 = [System.Convert]::FromBase64String($Password)

$data1 = [System.Web.Security.MachineKey]::Unprotect($data1, $Purpose)
$enc = [System.Text.Encoding]::UTF8
$data1 = $enc.GetString($data1)
Write-Host $data1
} else {
Write-Warning "Powershell Version 2 installed. Needs Powershell Version 3 or higher."
Write-Warning "Unable to replace password."
}
}
Encrypt-Password -Password "mB23339h0392DFiBomfyXOAr" -Purpose "SecureProtect"
Decrpt-Password -Password "nUuImlpb2gC/BOTtdEJk2NHc7n19TbuZo3238p0SkIdCmYO8y5D2FNqCnnmJKqSbUDvftfoig+lXHJ1r63WSK2FYLqGlumtDYjjXCWn5sGkYROp1GA=" -Purpose "SecureProtect"

 

转载于:https://www.cnblogs.com/garyblog/p/7160898.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值