我试图使用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