300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 一组PHP可逆加密解密算法

一组PHP可逆加密解密算法

时间:2019-04-11 07:21:22

相关推荐

一组PHP可逆加密解密算法

php教程|php手册

aspnet,软件编程

php教程-php手册

对于大部分密码加密,我们可以采用md5、sha1等方法。可以有效防止数据泄露,但是这些方法仅适用于无需还原的数据加密。

云骑士源码,苑房弘ubuntu,企业网站会用tomcat吗,爬虫数据存储影响,完成进度上报系统php,seo0368lzw

对于需要还原的信息,则需要采用可逆的加密解密算法。

源码截屏,ubuntu安装链接出错,tomcat 默认过期时间,python ide 爬虫,php升级5.4,仙桃seo关键词优化的技巧lzw

下面一组PHP函数是实现此加密解密的方法:

个人理财系统源码下载,ubuntu网卡未启动,tomcat启动一片空白,局域网 爬虫,php清空一个数组,seo喝semlzw

加密算法如下:

function encrypt($data, $key){$key=md5($key); $x=0; $len=strlen($data); $l=strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= $key{$x}; $x++; } for ($i = 0; $i < $len; $i++) { $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256); } return base64_encode($str);}

解密算法如下:

function decrypt($data, $key){$key = md5($key); $x = 0; $data = base64_decode($data); $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= substr($key, $x, 1); $x++; } for ($i = 0; $i < $len; $i++) { if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))) { $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1))); } else { $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1))); } } return $str;}

上述加密解密的过程均需要用到一个加密密钥(即参数$key)。

$data = PHP加密解密算法;// 被加密信息$key = 123;// 密钥$encrypt = encrypt($data, $key);$decrypt = decrypt($encrypt, $key);echo $encrypt, "\n", $decrypt;

上述将输出类似如下结果:

gniCSOzZG+HnS9zcFea7SefNGhXF

PHP加密解密算法

从上述结果可以看出,这是一组可逆的加密解密算法,可以用于部分需要还原的数据加密。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。