使用php mhash函数从字符串创建一个键

时间:2013-12-17 18:04:23

标签: php

我打算使用php函数mcrypt来加密和解密存储在SQL数据库中的一些数据。

mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_ECB, $iv);

我坚持使用$key的内容。 php手册建议使用“mhash函数从字符串”创建一个键。那么使用mhash并从中获取256位密钥的最佳方法是什么?我做这样的事吗?

mhash(MHASH_SHA256, $mystring);

$mystring需要多少个字符?

1 个答案:

答案 0 :(得分:0)

$mystring传递的字符数无关紧要,mhash每次都会返回32个字符。

命令行上的简单测试将说明

php > var_dump(mhash(MHASH_SHA256, 'blah'));
string(32) "?}?C?qnϥ?0/kB???R??e?`0?R"
php > var_dump(mhash(MHASH_SHA256, 'blahadfadf'));
string(32) "t?+jm~8??f?vD???'?R????a:??巯"
php > var_dump(mhash(MHASH_SHA256, 'blasdfafadf'));
string(32) "<?Z,?????,m???\5k??i???B???"
php > var_dump(mhash(MHASH_SHA256, 'blasasdfasdfasdfasf'));
string(32) "?]?,5Þظ?&x??T{?8?]?5??  Y?"
php > var_dump(mhash(MHASH_SHA256, 'blasasdfasdfasdfasfadfjads;fkjas;ldkfjas;dkjfa;sdjkf'));
string(32) "j?̳ebb??Z'??????9??^s???F"