由于URL里面的信息比较重要,所以我使用了如下代码,
/* 开启加密算法/ */
$td = mcrypt_module_open('twofish', '', 'ecb', '');/* 建立 IV,并检测 key 的长度 */
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);/* 生成 key */
$key = substr(md5('very secret key'), 0, $ks);/* 初始化加密程序 */
mcrypt_generic_init($td, $key, $iv);/* 加密, $encrypted 保存的是已经加密后的数据 */
print $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);/* 显示原始字符串 */
echo trim($decrypted)."\n";只是由于加密的参数无法传递过去,所以用base64_encode了一下,传过去再base64_decode再解密却丢失了一些数据,请问一下怎么避免这种问题
/* 开启加密算法/ */
$td = mcrypt_module_open('twofish', '', 'ecb', '');/* 建立 IV,并检测 key 的长度 */
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);/* 生成 key */
$key = substr(md5('very secret key'), 0, $ks);/* 初始化加密程序 */
mcrypt_generic_init($td, $key, $iv);/* 加密, $encrypted 保存的是已经加密后的数据 */
print $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);/* 显示原始字符串 */
echo trim($decrypted)."\n";只是由于加密的参数无法传递过去,所以用base64_encode了一下,传过去再base64_decode再解密却丢失了一些数据,请问一下怎么避免这种问题
解决方案 »
- 数据转换遇到些问题,希望高手帮忙看看
- php现在都是如何保护版权加密的?
- 请教:php找不到模块(php配置问题)
- 请推荐一个可借鉴学习的PHP程序
- utf-8文件加BOMl与不加BOM的影响?有没研究过的?
- php中有没有什么函数可以将string 转换为datede 的函数呀??
- 一段数据库sql的代码 大家帮我看看是什么意思 谢谢了
- PHP 如何可以分析BT torrent文件的信息?
- 日期怎样递增,for (i=6月1日;i<=6月31日;i++)?????
- 哪位大佬知道data下面的值改为动态绑定的,微信官方是这样写的,但是这样写的话值是死的,该学习没多久,请大佬指点一下
- PHP联盟的域名指向问题
- 请大家推荐一本学习php+mysql的书籍
不过感觉没那个必要
http://cn.php.net/mcrypt_generic
http://www.dedecms.com/knowledge/program/php/2009/0929/51.htmlhttp://www.ericfish.com/?q=100003http://www.jb51.net/article/17136.htm