Не могу зашифровать тройные строки длиной менее 1376 символов - PullRequest
0 голосов
/ 18 июня 2019

У меня проблема с алгоритмом 3DES, когда я работаю над php (phpseclib).Если моя длина строки самая короткая 1376 или 1300 Triple DES на phpseclib, Triple DES не работает и не может зашифровать мою строку !!!

Сколько должна быть длина моей строки, чтобы этот алгоритм работал?

Используйте пакет phpseclib для шифрования.

код:

$key = '';
$cipher = new \phpseclib\Crypt\TripleDES(\phpseclib\Crypt\DES::MODE_CBC);

//my key is hex format
$cipher->setKey(hex2bin($key));
$cipher->setIV(hex2bin('0000000000000000'));

//my data is hex format

$plaintext = hex2bin($data);

echo $cipher->encrypt($plaintext);

Закажите вас.

1 Ответ

0 голосов
/ 20 июня 2019

Я могу решить эту проблему.

в php вы должны добавить строку в 16 символов !!!

, таких как:

str_pad($input, 16, "your padded char", STR_PAD_LEFT); // or STR_PAD_RIGHT for padded from right
...