Crypt_Blowfish обратная совместимость от груши до phpseclib

Я хочу перенести мою систему из pear/Crypt/Blowfish в phpseclib/Crypt/Blowfish Lib.

Мне нужно иметь полную обратную совместимость. Итак, каковы различия между этими двумя библиотеками?

я нашел по этой ссылке что «PEAR Crypt_Blowfish использует ECB по умолчанию, а phpseclib использует CBC».

Поэтому я настроил phpseclib для работы с ECB, но все же разница между двумя библиотеками. Который из ?

1

Решение

Наконец я нашел решение:

По умолчанию используется пакет Pearl Crypt chr(0) для заполнения строк, длина которых не кратна 8 (размер блока). Но вместо этого phpseclib использует целые числа.

Вот решение:

$crypt = new Crypt_Blowfish(CRYPT_MODE_ECB);
$crypt->setKey('mysecretkey');
$crypt->disablePadding();
// You must padding your input here with chr(0),
// to put your input length to a multiple of 8
$block_size = 8;
$pad = $block_size - (strlen($text) % $block_size);
$text = str_pad($text, strlen($text) + $pad, chr(0));
$encrypted = $crypt->encrypt($text);
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector