Python如何验证内嵌参数与盐的Scrypt组合哈希对应的密码?
兼容Java ScryptUtil的Python Scrypt哈希验证方案
可用方案
直接使用passlib库的scrypt哈希模块即可,它原生支持lambdaworks Java库输出的$s0$开头的模块化哈希格式,不需要手动解析参数、盐值,验证逻辑完全对齐com.lambdaworks.crypto.SCryptUtil.check方法。
使用步骤
- 首先安装依赖:
pip install passlib[scrypt] - 验证代码示例:
from passlib.hash import scrypt # 传入明文密码和数据库中存储的完整哈希串即可 verify_result = scrypt.verify( "pass123", "$s0$e1010$Hcxkdy8NyRZt6hCnNsDyhQ==$KG8hw/i7zDbVtwtuJfUHlo1vw+qrshDYMq6XlfYW0rg=" ) print(verify_result) # 输出为True,和Java方法返回结果一致
说明
passlib的scrypt实现会自动从哈希串中提取加密参数、盐值完成校验,不需要额外处理哈希串的结构,完全满足需求。
内容的提问来源于stack exchange,提问作者Gouz
相关产品推荐
相关产品推荐

