"double salting" 密码 python
"double salting" a password with python
我想在 python 中创建一个 "double salted" 密码,它应该给出与下面的 php 代码相同的结果。
php代码:sha1($salt . sha1($salt . sha1($password)));
希望有人能帮助我解决我的问题。
您可以在此处申请functools.reduce()
:
from hashlib import sha1
from functools import reduce
result = reduce(lambda a, b: b + sha1(a.encode()).hexdigest(), (password, salt, salt, ''))
您还可以链接函数调用(这将提高约 30% 的效率,但没有那么紧凑):
from hashlib import sha1
result = sha1((salt + sha1((salt + sha1(password.encode()).hexdigest()).encode()).hexdigest()).encode()).hexdigest()
我想在 python 中创建一个 "double salted" 密码,它应该给出与下面的 php 代码相同的结果。
php代码:sha1($salt . sha1($salt . sha1($password)));
希望有人能帮助我解决我的问题。
您可以在此处申请functools.reduce()
:
from hashlib import sha1
from functools import reduce
result = reduce(lambda a, b: b + sha1(a.encode()).hexdigest(), (password, salt, salt, ''))
您还可以链接函数调用(这将提高约 30% 的效率,但没有那么紧凑):
from hashlib import sha1
result = sha1((salt + sha1((salt + sha1(password.encode()).hexdigest()).encode()).hexdigest()).encode()).hexdigest()