PHP的数据加密解密

来源:互联网 发布:淘宝招聘信息 编辑:程序博客网 时间:2024/05/18 03:29
本文出至:新太潮流网络博客
/** * [对数据进行加密] * @E-mial wuliqiang_aa@163.com * @TIME   2017-04-07 * @WEB    http://blog.iinu.com.cn * @param  [数据] $data [要加密的数据] * @param  [密钥] $key  [解密的唯一方法] */function encrypt($data, $key){    header('Content-type:text/html;charset=utf-8');    $key    =   md5($key);    $x      =   0;    $len    =   mb_strlen($data);    $l      =   mb_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);}/** * [对加密的数据进行解密] * @E-mial wuliqiang_aa@163.com * @TIME   2017-04-07 * @WEB    http://blog.iinu.com.cn * @param  [数据] $data [已经进行加密的数据] * @param  [密钥] $key  [解密的唯一方法] */function decrypt($data, $key){    header('Content-type:text/html;charset=utf-8');    $key = md5($key);    $x = 0;    $data = base64_decode($data);    $len = mb_strlen($data);    $l = mb_strlen($key);    for ($i = 0; $i < $len; $i++)    {        if ($x == $l)         {            $x = 0;        }        $char .= mb_substr($key, $x, 1);        $x++;    }    for ($i = 0; $i < $len; $i++)    {        if (ord(mb_substr($data, $i, 1)) < ord(mb_substr($char, $i, 1)))        {            $str .= chr((ord(mb_substr($data, $i, 1)) + 256) - ord(mb_substr($char, $i, 1)));        }        else        {            $str .= chr(ord(mb_substr($data, $i, 1)) - ord(mb_substr($char, $i, 1)));        }    }    return $str;}
本文出至:新太潮流网络博客
原创粉丝点击