PowerShell加密解密
1 year ago
1 minute
Base64
# 将Base64字符串赋值给一个变量
$base64 = "SGVsbG8sIFBvd2VyU2hlbGwh"
# 使用FromBase64String方法将Base64字符串转换为字节数组
$bytes = [System.Convert]::FromBase64String($base64)
# 使用Text.Encoding类中的GetString方法将字节数组转换为文本字符串
$text = [System.Text.Encoding]::UTF8.GetString($bytes)
# 输出文本字符串
Write-Output $text
URL编码
# 将URL字符串赋值给一个变量
$url = "https%3A%2F%2Fred.ghostwolflab.com%2Fsearch%3Fq%3Dpowershell"
# 使用UrlDecode方法将URL字符串转换为正常字符串
$normal = [System.Web.HttpUtility]::UrlDecode($url)
# 输出正常字符串
Write-Output $normal
ROT13编码
# 将ROT13字符串赋值给一个变量
$rot13 = "Uryyb, CbjreFuryy!"
# 使用ToCharArray方法将ROT13字符串转换为字符数组
$chars = $rot13.ToCharArray()
# 遍历每个字符,根据ROT13规则进行替换
foreach ($char in $chars) {
# 如果字符是大写字母
if ($char -ge 'A' -and $char -le 'Z') {
# 如果字符在A-M之间,替换为其后面第13个字母
if ($char -ge 'A' -and $char -le 'M') {
$rot13 = $rot13.Replace($char, char)
}
# 如果字符在N-Z之间,替换为其前面第13个字母
else {
$rot13 = $rot13.Replace($char, char)
}
}
# 如果字符是小写字母
if ($char -ge 'a' -and $char -le 'z') {
# 如果字符在a-m之间,替换为其后面第13个字母
if ($char -ge 'a' -and $char -le 'm') {
$rot13 = $rot13.Replace($char, char)
}
# 如果字符在n-z之间,替换为其前面第13个字母
else {
$rot13 = $rot13.Replace($char, char)
}
}
}
# 输出解码后的字符串
Write-Output $rot13