对于大部分密码加密,我们可以采用md5、sha1等方法。可以有效防止数据泄露,但是这些方法仅适用于无需还原的数据加密。
对于需要还原的信息,则需要采用可逆的加密解密算法。
下面一组PHP函数是实现此加密解密的方法:
加密算法如下:
1 function encrypt($data,$key) 2 { 3 $key = md5(); 4 $x = 0; 5 $len = strlen($data 6 $l = 7 for ($i = 0; $i < $len; $i++ 8 { 9 if ($x == $l) 10 { 11 $x = 012 } 13 $char .= $key{$x}; 14 $x++15 } 16 17 18 $str .= chr(ord($data{$i}) + ($char{$i})) % 25619 20 return base64_encode($str21 }
解密算法如下:
function decrypt($key = $data = base64_decode($len = 7 $l = 8 9 10 11 12 13 $char .= substr($key,1)">$x,115 16 17 18 19 if (ord($i,1)) < $char,1)">))) 20 21 chr(())); 22 23 else 24 25 26 27 28 return 29 }
上述加密解密的过程均需要用到一个加密密钥(即参数$key)。
1 $data = 'PHP加密解密算法'; // 被加密信息 2 $key = '123'; 密钥 3 $encrypt = encrypt(4 $decrypt = decrypt($encrypt,1)">5 echo $decrypt;
上述将输出类似如下结果:
gniCSOzZG+HnS9zcFea7SefNGhXF
PHP加密解密算法
从上述结果可以看出,这是一组可逆的加密解密算法,可以用于部分需要还原的数据加密。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。