时时商务社区

标题: PHP mcrypt可逆加密算法分析 [打印本页]

作者: 网络通达    时间: 2018-2-14 08:39

            数据加密在我们生活中的地位已经越来越重要了,尤其是考虑到在网络上发生的大量交易和传输的大量数据。对于不需要还原为原始数据的信息我们可以使用MD5、sha1等不可逆加密算法对数据进行加密处理,但对于交易信息等需要还原为原始数据的重要信息则必须使用可还原的加密算法进行加密了。当然你可以自己写一个可逆加密的算法进行加密和解密计算。本文中我们介绍的是使用 mcrypt模块进行加密解密操作。
Mcrypt的优点不仅仅在于其提供的加密算法较多,在windows下随PHP包一起发布,还在于它可以对数据进行加/解密处理,此外,它还提供了包括DES算法在内的35种处理数据用的函数。
[U]复制代码[/U] 代码如下:
/**
+-----------------------------------------------------
* 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;
}

别的网友的代码
[U]复制代码[/U] 代码如下:

            
            
您可能感兴趣的文章:
  • 不重新编译PHP为php增加openssl模块的方法
  • php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
  • php pki加密技术(openssl)详解
  • PHP加密扩展库Mcrypt安装和实例
  • php开启openssl的方法
  • Linux下PHP安装mcrypt扩展模块笔记
  • php基于mcrypt的加密解密实例
  • php实现基于openssl的加密解密方法
  • PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
  • PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法详解
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2