creando contraseñas encriptadas en MySQL abierto a través de PHP
Openfire almacena las contraseñas cifradas en una base de datos utilizando el cifrado blowfish.
http: //svn.igniterealtime.org/svn/repos/openfire/trunk/src/java/org/jivesoftware/util/Blowfish.jav es la implementación de Java para saber cómo funcionan las funciones de cifrado / descifrado en openfire.
Mi objetivo es crear nuevas entradas de usuario en la base de datos a través de PHP y MySQLI. Todas las variaciones que he probado han arrojado resultados que no coinciden con lo que ya existe en la base de datos. Por ejemplo
d3f499857b40ac45c41828ccaa5ee1f90b19ca4e0560d1e2dcf4a305f219a4a2342aa7364e9950db
es una de las contraseñas cifradas. texto claro, este esstackoverflow
He probado algunas variaciones:
echo mcrypt_cbc(MCRYPT_BLOWFISH, '1uY40SR771HkdDG', 'stackoverflow', MCRYPT_ENCRYPT, '12345678');
// result: áë*sY¶nŸÉX_33ô
Otro basado enmcrypt blowfish php resultados ligeramente diferentes en comparación con java y .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==
¿Alguna idea inteligente o algún problema evidente? Simplemente quiero implementarBlowfish.encryptString()
como se menciona en el primer enlace de esta pregunta.