Istnieje aplikacja napisana w PHP, którą konwertuję na Ruby. Podczas szyfrowania haseł aplikacji PHP wykorzystuje następujący kod:Uwierzytelnianie hasła zaszyfrowanego w PHP za pomocą Blowfish z Ruby
if($method == 2 && CRYPT_BLOWFISH) return crypt($pass, '$2a$07$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxx$');
Jestem zakładając ten stosuje Blowfish realizację. Litery X to wszystkie znaki a-zA-Z0-9.
Blowfish realizacja w Ruby ma następującą składnię (wzięte z http://crypt.rubyforge.org/blowfish.html):
blowfish = Crypt::Blowfish.new("A key up to 56 bytes long")
plainBlock = "ABCD1234"
encryptedBlock = blowfish.encrypt_block(plainBlock)
ja nie mam 56 lub mniej bajtów długi łańcuch i nie jest jasne, co to powinno być od wersji PHP . Jak więc napisać funkcję Ruby, która będzie szyfrować hasła, aby dać taki sam wynik jak PHP?
To działa idealnie. Dzięki! –