PHP版“社会主义核心价值观”加解密

一、加密函数
function enHexie($str)
{
    $list = [];
    $key = ['富强', '民主', '文明', '和谐', '自由', '平等', '公正', '法治', '爱国', '敬业', '诚信', '友善'];
    $arr = str_split(bin2hex($str));
    foreach ($arr as $v) {
        $num = hexdec($v);
        if ($num < 10) {
            $list[] = intval($v);
        } else {
            if (mt_rand(0, 1) === 1) {
                $list[] = 11;
                $list[] = $num - 6;
            } else {
                $list[] = 10;
                $list[] = $num - 10;
            }
        }
    }
    $ret = '';
    foreach ($list as $v) {
        $ret .= $key[$v];
    }
    return $ret;
}

二、解密函数
function deHexie($str)
{
    $list = [];
    $key = ['富强', '民主', '文明', '和谐', '自由', '平等', '公正', '法治', '爱国', '敬业', '诚信', '友善'];
    $len = intval(mb_strlen($str) / 2);
    $arr = [];
    for ($i = 0; $i < $len; $i++) {
        $arr[] = array_search(mb_substr($str, $i * 2, 2), $key);
    }
    for ($i = 0; $i < count($arr); $i++) {
        if ($arr[$i] < 10) {
            $list[] = $arr[$i];
        } else if ($arr[$i] == 10) {
            $i++;
            $list[] = dechex($arr[$i] + 10);
        } else {
            $i++;
            $list[] = dechex($arr[$i] + 6);
        }
    }
    $ret = hex2bin(implode($list));
    return $ret;
}

【完】

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值