关于字符串加密解密的简单程序


最近接入第三方的接口,因为需要传递一些涉及到本系统特殊信息的原因,这个信息需要在第三方回调的时候使用,所以增加了一个简单的字符串加密,以下是代码,请打开详细页查看…

<?php
$key = "hello world!"; //加密解密key,可自行修改
$string = "8888|321ad67b"; //需要加密的字符串

$lock_string = encode($string , $key);
echo $lock_string.'<br/>';
$string = decode($lock_string ,$key);
echo $string;

function encode($string = '', $skey = 'lockstring') {
$strArr = str_split(base64_encode($string));
$strCount = count($strArr);
foreach (str_split($skey) as $key =&gt; $value)
$key &lt; $strCount &amp;&amp; $strArr[$key].=$value;
return str_replace(array('=', '+', '/'), array('O0O0O', 'o000o', 'oo00o'), join('', $strArr));
}

function decode($string = '', $skey = 'lockstring') {
$strArr = str_split(str_replace(array('O0O0O', 'o000o', 'oo00o'), array('=', '+', '/'), $string), 2);
$strCount = count($strArr);
foreach (str_split($skey) as $key =&gt; $value)
$key &lt;= $strCount &amp;&amp; $strArr[$key][1] === $value &amp;&amp; $strArr[$key] = $strArr[$key][0];
return base64_decode(join('', $strArr));
}

?>

以上就是字符串加密解密的程序,已在php环境下测试通过,有疑问的地方可以留言。

, , , ,

发表评论

7 + 7 = ?