小编Luk*_*ers的帖子

使用Blowfish和Ruby验证在PHP中加密的密码

有一个用PHP编写的应用程序,我将其转换为Ruby.加密密码时,PHP应用程序使用以下代码:

if($method == 2 && CRYPT_BLOWFISH) return crypt($pass, '$2a$07$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxx$');
Run Code Online (Sandbox Code Playgroud)

我假设这是使用Blowfish实现.这里的x都是a-zA-Z0-9字符.

Ruby中的Blowfish实现使用以下语法(取自http://crypt.rubyforge.org/blowfish.html):

blowfish = Crypt::Blowfish.new("A key up to 56 bytes long")
plainBlock = "ABCD1234"
encryptedBlock = blowfish.encrypt_block(plainBlock)
Run Code Online (Sandbox Code Playgroud)

我没有56或更少的字节长字符串,并且不清楚PHP版本应该是什么.那么如何编写一个Ruby函数来加密密码以获得与PHP相同的结果呢?

php ruby authentication encryption blowfish

6
推荐指数
1
解决办法
749
查看次数

标签 统计

authentication ×1

blowfish ×1

encryption ×1

php ×1

ruby ×1