当前位置: 代码迷 >> PHP >> 怎么处理mcrypt_encrypt() 加密中文后,就显示为乱码了,还原后也是
  详细解决方案

怎么处理mcrypt_encrypt() 加密中文后,就显示为乱码了,还原后也是

热度:441   发布时间:2013-03-01 18:33:02.0
怎么办mcrypt_encrypt() 加密中文后,就显示为乱码了,还原后也是
页面能显示中文 不是编码问题 
为什么加密后就成乱码?要怎么处理



<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
header("Content-Type:text/html; charset=utf-8");

$str="床前明月光,疑是地上霜"; //被加密的内容
$key="key:111"; //密匙
$cipher=MCRYPT_DES;  //加密算法类型
$mode=MCRYPT_MODE_ECB;  //加密算法模式
$iv=mcrypt_create_iv(mcrypt_get_iv_size($cipher, $mode),MCRYPT_RAND); //初始化向量
echo "加密前".$str."<br>";
//加密
$str_encrypt=mcrypt_encrypt($cipher,$key,$str,$mode,$iv);
echo "加密后".$str_encrypt."<br>";
//还原
$str_decrypt=mcrypt_encrypt($cipher,$key,$str_encrypt,$mode,$iv);
echo "还原".$str_decrypt."<br>";

?>


------解决方案--------------------
//还原
$str_decrypt=mcrypt_decrypt($cipher,$key,$str_encrypt,$mode,$iv);
echo "还原".$str_decrypt."<br>";