博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

PHP ROT18加解密

Posted on 2021-10-11 11:35  PHP-张工  阅读(208)  评论(0编辑  收藏  举报

PHP 系统函数有个 str_rot13。可以通过字母的循环替换实现简单字符加密。

实际上还有 ROT18 (字母+数字)等。参考:https://www.qqxiuzi.cn/bianma/ROT5-13-18-47.php

使用base64后的信息如果想再次简单加密下,可以使用ROT18实现。

代码如下:

<?php

function str_rot18($str)
{
	$k1 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
	$k2 = 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM5678901234';
	
	return strtr($str, $k1, $k2);
}

function base64_rot18_encode($str)
{
	$str = base64_encode($str);
	return str_rot18($str);
}

function base64_rot18_decode($str)
{
	$str = str_rot18($str);
	return base64_decode($str);
}



$s = '中文测试 Hello abc 123!';
var_dump($s);

$str = base64_rot18_encode($s);

var_dump($str);

$str = base64_rot18_decode($str);

var_dump($str);