создание зашифрованных паролей в openfire MySQL через PHP

Openfire хранит зашифрованные пароли в базе данных, используя шифрование blowfish.

http://svn.igniterealtime.org/svn/repos/openfire/trunk/src/java/org/jivesoftware/util/Blowfish.java это реализация Java для работы функций шифрования / дешифрования в openfire.

Моя цель - создать новые пользовательские записи в базе данных через PHP и MySQLI. Все варианты, которые я пробовал, дали результаты, которые не соответствуют тому, что уже существует в базе данных. Например:

d3f499857b40ac45c41828ccaa5ee1f90b19ca4e0560d1e2dcf4a305f219a4a2342aa7364e9950db является одним из зашифрованных паролей. чистый текст, этоstackoverflow

Я пробовал несколько вариантов:

echo mcrypt_cbc(MCRYPT_BLOWFISH, '1uY40SR771HkdDG', 'stackoverflow', MCRYPT_ENCRYPT, '12345678');
// result:  áë*sY¶nŸÉX_33ô

Другой основан наmcrypt blowfish php немного отличается по сравнению с java и .net

 $key = '1uY40SR771HkdDG';
 $pass = 'stackoverflow';
 $blocksize = mcrypt_get_block_size('blowfish', 'cbc'); // get block size
 $pkcs = $blocksize - (strlen($data) % $blocksize); // get pkcs5 pad length
 $data.= str_repeat(chr($pkcs), $pkcs); // append pkcs5 padding to the data

 // encrypt and encode
 $res = base64_encode(mcrypt_cbc(MCRYPT_BLOWFISH,$key, $pass, MCRYPT_ENCRYPT));
 echo $res;
 // result:  3WXKASjk35sI1+XJ7htOGw==

Любые умные идеи или какие-то явные проблемы? Я просто хочу реализоватьBlowfish.encryptString() как указано в первой ссылке в этом вопросе.

Ответы на вопрос(3)

Ваш ответ на вопрос