PHP mcrypt可逆加密算法分析
2015-01-24信息快讯网
Mcrypt的优点不仅仅在于其提供的加密算法较多,在windows下随PHP包一起发布,还在于它可以对数据进行加/解密处理,此外,它还提供了包括DES算法在内的35种处理数据用的函数。
/** +----------------------------------------------------- * Mcrypt 加密/解密 * @param String $date 要加密和解密的数据 * @param String $mode encode 默认为加密/decode 为解密 * @return String * @author [email protected] 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 $td = mcrypt_module_open(MCRYPT_DES,'','ecb',''); //使用MCRYPT_DES算法,ecb模式 $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); $ks = mcrypt_enc_get_key_size($td); $key = "ery secret key";//密钥 $key = substr(md5($key), 0, $ks); mcrypt_generic_init($td, $key, $iv); //初始处理 //加密 $encrypted = mcrypt_generic($td, 'This is very important data'); //结束处理 mcrypt_generic_deinit($td); //初始解密处理 mcrypt_generic_init($td, $key, $iv); //解密 $decrypted = mdecrypt_generic($td, $encrypted); //结束 mcrypt_generic_deinit($td); mcrypt_module_close($td); //解密后,可能会有后续的\0,需去掉 echo trim($decrypted) . "\n"; ?>
PHP/Javascript/CSS/jQuery常用知识大全详细整理第1/2页
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
php和javascript之间变量的传递实现代码
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
PHP可逆加密/解密函数分享
如何获知PHP程序占用多少内存(memory_get_usage)
PHP管理内存函数 memory_get_usage()使用介绍
PHP中使用crypt()实现用户身份验证的代码
php中3des加密代码(完全与.net中的兼容)
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
通过PHP的内置函数,通过DES算法对数据加密和解密
PHP的加密方式及原理
php实现rc4加密算法代码
php 的加密函数 md5,crypt,base64_encode 等使用介绍
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
关于php连接mssql:pdo odbc sql server
PHP中date()日期函数有关参数整理
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
php设计模式 Factory(工厂模式)
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
jQuery 源码分析笔记
fleaphp crud操作之find函数的使用方法
fleaphp crud操作之findByField函数的使用方法
PHP中输出转义JavaScript代码的实现代码
PHP+JS+rsa数据加密传输实现代码
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
微盾PHP脚本加密专家php解密算法
使用bcompiler对PHP文件进行加密的代码
ionCube 一款类似zend的PHP加密/解密工具
UCenter中的一个可逆加密函数authcode函数代码