我試圖使用mcrypt_encrypt()
加密密碼。它是在localhost
工作正常,但是當網上去,我的輸出是""
和我得到這樣的警告:警告:此算法不支持mcrypt_encrypt():大小爲10的密鑰。只有大小爲16,24或32的密鑰支持
警告:mcrypt_encrypt():不 這種算法支持的尺寸10鍵。只有尺寸鍵16,24或32的支持
這是代碼我使用:
$text="thisismypassword123";
$salt="1234567824";
return trim (
base64_encode (
mcrypt_encrypt (
MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB, mcrypt_create_iv (
mcrypt_get_iv_size (
MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB
),
MCRYPT_RAND
)
)
)
);
什麼可能是這個原因,我能做些什麼來解決這個問題?
請不要使用MCRYPT_MODE_ECB模式,因爲鹽不會被使用。使用MCRYPT_MODE_CBC。使用'openssl_'加密例程而不是'mcrypt'更可靠。 –
考慮接受有用的答案。 要接受答案,請點擊最佳答案旁邊的空白複選標記,這樣做會增加您的聲望並提供更多功能。請參閱[聲譽常見問題](http:// stackoverflow。com/faq#reputation)請參閱[本頁](http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-work)瞭解更多詳情。 另外請考慮回去和接受過去的答案,這樣做會增加你的聲望,並允許更多的功能,請參閱[聲譽常見問題](http://stackoverflow.com/faq#reputation) – zaph