使用mcrypt_encrypt()给我警告“密钥大小太长”

时间:2015-11-23 11:19:40

标签: php 3des

我正在尝试在PHP中使用mcrypt_encrypt()但是当我使用该函数进行加密时我遇到了问题:

我的代码是:

瓦尔:

$key = "1e1r1r1t1y1y1g1g1g1g1g1345678910"; // That is a example, the real key have 32 long too.
$ref="12013515"; // example value

// Tamanio Encripyt ....
$iv_size = mcrypt_get_iv_size(MCRYPT_3DES,MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size,MCRYPT_RAND);
// Lunch
$stringEncrypted = mcrypt_encrypt(MCRYPT_3DES,$key,$ref,MCRYPT_MODE_CBC,$iv);

如果我这样做,PHP会向我显示错误:

Warning: mcrypt_encrypt(): Size of key is too large for this algorithm

我需要使用加密3DES ......可能是什么问题?

2 个答案:

答案 0 :(得分:0)

此算法不支持32号密钥。仅支持大小为24的键。

答案 1 :(得分:0)

对于这种情况,我需要忽略这种类型的铭文的大小值(我无法更改密码和登记类型)。

我阅读了一些有相同问题和解决方案的帖子。

感谢大家的帮助。