PowerShell加密解密

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