Hay una aplicación escrita en PHP que estoy convirtiendo a Ruby. Al cifrar contraseñas de la aplicación PHP utilizando el siguiente código:Contraseña de autenticación encriptada en PHP usando Blowfish con Ruby
if($method == 2 && CRYPT_BLOWFISH) return crypt($pass, '$2a$07$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxx$');
Asumo esto es usar una aplicación Blowfish. Las x aquí son todos los caracteres a-zA-Z0-9.
La aplicación Blowfish en Ruby utiliza la siguiente sintaxis (tomado de http://crypt.rubyforge.org/blowfish.html):
blowfish = Crypt::Blowfish.new("A key up to 56 bytes long")
plainBlock = "ABCD1234"
encryptedBlock = blowfish.encrypt_block(plainBlock)
que no tienen una cadena larga de 56 o menos bytes y no está claro lo que debe ser de la versión de PHP . Entonces, ¿cómo puedo escribir una función de Ruby que encriptará las contraseñas para dar el mismo resultado que la de PHP?
Esto funciona perfectamente ¡Gracias! –