php对同一明文加密后如何得到不同的密文?而且这些密文解密后都是一样的明文!

那么加密的时候只能用不同的密钥来获得不同的密文,解密的时候就得用之前的密钥,所以如果要存储密文,密钥也要存储,否则就解密不了!

看看我写的代码。加密和解密功能可以在互联网上找到。刷新页面的时候,会有乱码的几率!可以自己改,但是一定要可逆。

& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

$明?=?‘中华人民共和国’;

$iv?=?兰特(1000,?9999);//键

$mi?=?加密($iv,?$明);

$解蜜?=?解密($iv,?$ mi);

回声?原文:'。$明。”& ltbr/>;;

回声?加密:'。$ mi。

回声?解密:“”。$解蜜;

//?加密功能

功能?加密($密钥,?$plain_text)?{

$plain_text?=?trim($ plain _ text);

$iv?=?substr(md5($key),?0,mcrypt_get_iv_size?(MCRYPT_CAST_256,MCRYPT _ MODE _ CFB));

$c_t?=?mcrypt_cfb?(MCRYPT_CAST_256,?$key,?$plain_text,?MCRYPT_ENCRYPT,?$ iv);

回归?trim(chop(base64 _ encode($ c _ t)));

}

//?解密函数

功能?解密($key,?$c_t)?{

$c_t?=?trim(chop(base64 _ decode($ c _ t)));

$iv?=?substr(md5($key),?0,mcrypt_get_iv_size?(MCRYPT_CAST_256,MCRYPT _ MODE _ CFB));

$p_t?=?mcrypt_cfb?(MCRYPT_CAST_256,?$key,?$c_t,?MCRYPT_DECRYPT,?$ iv);

回归?trim(chop($ p _ t));

}

& gt参考:/springload/detail/67