您当前的位置: 首页 > 网站编程 > PHP教程 > PHP使用mcrypt拓展的加密算法进行加密解密

PHP使用mcrypt拓展的加密算法进行加密解密

作者:不详 来源:网络 发布时间: 2011-06-14 11:39 点击:
数据加密在我们生活中的地位已经越来越重要了,尤其是考虑到在网络上发生的大量交易和传输的大量数据。对于不需要还原为原始数据的信息我们可以使用MD5、sha1等不可逆加密算法对数据进行加密处理,但对于交易信息等需要还原为原始数据的重要信息则必须使用可还原的加密

PHP使用mcrypt拓展的加密算法进行加密解密

    数据加密在我们生活中的地位已经越来越重要了,尤其是考虑到在网络上发生的大量交易和传输的大量数据。对于不需要还原为原始数据的信息我们可以使用MD5、sha1等不可逆加密算法对数据进行加密处理,但对于交易信息等需要还原为原始数据的重要信息则必须使用可还原的加密算法进行加密了。当然你可以自己写一个可逆加密的算法进行加密和解密计算。本文中我们介绍的是使用 mcrypt模块进行加密解密操作。

    Mcrypt的优点不仅仅在于其提供的加密算法较多,在windows下随PHP包一起发布,还在于它可以对数据进行加/解密处理,此外,它还提供了包括DES算法在内的35种处理数据用的函数。

/**
 +-----------------------------------------------------
 * Mcrypt 加密/解密
 * @param String $date 要加密和解密的数据
 * @param String $mode encode 默认为加密/decode 为解密
 * @return String
 * @author zxing@97md.net Mon Sep 14 22:59:28 CST 2009
 +-----------------------------------------------------
 * @example
 */
function ZxingCrypt($date,$mode = 'encode'){
    $key = md5('zxing');//用MD5哈希生成一个密钥,注意加密和解密的密钥必须统一
    if ($mode == 'decode'){
        $date = base64_decode($date);
    }
    if (function_exists('mcrypt_create_iv')){
        $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
        $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    }
    if (isset($iv) && $mode == 'encode'){
        $passcrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $date, MCRYPT_MODE_ECB, $iv);
    }elseif (isset($iv) && $mode == 'decode'){
        $passcrypt = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $date, MCRYPT_MODE_ECB, $iv);
    }
    if ($mode == 'encode'){
        $passcrypt = base64_encode($passcrypt);
    }
    return $passcrypt;
}

分享到:
本文"PHP使用mcrypt拓展的加密算法进行加密解密"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4