如何为mcrypt_decrypt创建$ key值?

时间:2010-07-14 13:51:05

标签: php

我正在尝试使用mcrypt_decrypt解密字符串,但我不确定如何将密钥转换为'字符串'类型:

$key = array(-2, -2, -2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
pkcs5_unpad(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $text, MCRYPT_MODE_CBC, $iv));

密钥是使用随机密钥生成器生成的,我在加密端使用它(恰好是java):

byte[] key = new byte[] { -2, -2, -2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 };

字节是有符号的,所以有负数应该是合法的 - 我只是不确定如何使用mcrypt_decrypt,因为它需要$ key的'string'类型?

由于

1 个答案:

答案 0 :(得分:1)

您可以使用chr()转换ASCII字符的字节值:

$strkey = "";

foreach($key as $char) {
    $strkey .= chr($char);
}