【发布时间】:2016-07-22 22:21:32
【问题描述】:
我正在尝试使用mcrypt_encrypt() 加密密码。它在localhost 上运行良好,但是当我上线时,我的输出是"",我收到了这个警告:
警告: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更可靠。 -
考虑接受有帮助的答案。要接受答案,请单击最佳答案旁边的空心复选标记,这样做会提高您的声誉并提供更多功能,请参阅reputation faq 更多详细信息,请参阅this page。另外请考虑返回并接受过去的答案,这样做会增加您的声誉并允许更多功能,请参阅reputation faq
标签: php encryption mcrypt password-encryption encryption-symmetric