• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php加密算法之实现可逆加密算法和解密分享_php实例

php 搞代码 3年前 (2022-01-25) 17次浏览 已收录 0个评论

加密算法如下:

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

解密算法如下:

function decrypt($data, $key)<BR>{<BR> $key = md5($key);<BR>    $x = 0;<BR>    $data = base64_decode($data);<BR>    $len = strlen($data);<BR>    $l = strlen($key);<BR>    for ($i = 0; $i < $len; $i++)<BR>    {<BR>        if ($x == $l) <BR>        {<BR>         $x = 0;<BR>        }<BR>        $char .= substr($key, $x, 1);<BR>    <a style="color:transparent">来@源gao*daima.com搞@代#码网</a><strong>搞gaodaima代码</strong>    $x++;<BR>    }<BR>    for ($i = 0; $i < $len; $i++)<BR>    {<BR>        if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))<BR>        {<BR>            $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));<BR>        }<BR>        else<BR>        {<BR>            $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));<BR>        }<BR>    }<BR>    return $str;<BR>}<BR>

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

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

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

gniCSOzZG+HnS9zcFea7SefNGhXF<BR>PHP加密解密算法<BR>

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php加密算法之实现可逆加密算法和解密分享_php实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址