【问题标题】:mcrypt_decrypt(): Size of key is too large formcrypt_decrypt():密钥的大小对于
【发布时间】:2015-03-12 04:52:07
【问题描述】:

我正在尝试使用 AES 256 61 个字符长度的密钥解密数据。 请参考以下代码: $key 是 AES 256 61 个字符长度。

mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $value, MCRYPT_MODE_CBC, str_rand(61));

错误: mcrypt_decrypt():对于这个算法来说密钥的大小太大了

请指教。

谢谢,

【问题讨论】:

    标签: php encryption


    【解决方案1】:

    错误消息说明了一切。 AES256 需要一个 256 位(即 8 个字符)的密钥;您传递给它的密钥太大。

    【讨论】:

    • 感谢您的回复!实际上我是从第三方那里拿到钥匙的,这就是他们给的。抱歉,我对解密不是很熟悉。那我应该让他们换钥匙吗?喜欢使它成为8个字符?或者你的建议是什么?
    • 要么他们给你的密钥实际上不是一个 AES256 密钥,要么它的格式与你想象的不同,要么它应该以某种方式进行预处理。无论如何,请与他们联系以获取详细信息。
    • 另外,值得一提的是:IV(最后一个参数,str_rand(61) 此处)是解密过程的重要组成部分。随机选择一个解密将不起作用;它的值通常包含在加密消息中。
    猜你喜欢
    • 2015-01-30
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 2015-11-12
    • 1970-01-01
    相关资源
    最近更新 更多