将blowfish加密算法从php转换为python


Converting an blowfish encryption algo from php to python

我的网站使用了这种真正简单的加密。我正试图将我的所有代码从php转换为python,但我不知道如何让python产生与php使用此代码相同的输出。

function myhash($word){
  $salt = "$2a$06$" . substr(sha1($word) , 0, 22) . "$";
  return crypt($word, $salt);
}

鉴于我已经用这种加密方式存储了相当多的密码,所以进行新的加密是愚蠢的。该怎么办?

没有内置blowfish。如果你可以使用其他模块,请尝试bcrypt,它可以满足你的需求。因此,功能将是:

import hashlib
import brypt
def myhash(word):
    salt = "$2a$06$" + hashlib.sha1(word).hexdigest()[0:22] + "$"
    return bcrypt.hashpw(word, salt)