gpt4 book ai didi

javascript - python bcrypt 和 node.js bcrypt

转载 作者:太空宇宙 更新时间:2023-11-03 22:37:15 33 4
gpt4 key购买 nike

我有一个 python 脚本,它将用户数据导入到 mongodb 中,该 mongodb 使用 bcrypt 来哈希用户的密码。

来自 mongodb 的数据也将在 Node.js Web 应用程序中使用,确保 py-bcrypt 生成的哈希值相同的正确方法是什么!

当运行node.js版本时,我得到这个:

> bcrypt.genSalt(10, function(err, salt) {
... bcrypt.hash("a", salt, function(err, hash) {
..... console.log(hash);
..... });
... });
undefined
> $2a$10$tOT8MN1.3gsb6jWVL2hMRe0PHnJnXCxJX9xBewNl.2iRDnZCV/NeC

在Python中

>>> import bcrypt
>>> password =b"a"
>>> hashed = bcrypt.hashpw(password, bcrypt.gensalt(10))
>>> hashed
'$2a$10$RzKqQppa3Y7ZZV8f7Ay5COFB5GMEGu7aLH7Fe2HchCyYF1gWVMZ/m'

使用 Node 生成的哈希值比较Python中的哈希值,返回:

>>> node_hash = b"$2a$10$tOT8MN1.3gsb6jWVL2hMRe0PHnJnXCxJX9xBewNl.2iRDnZCV/NeC"
>>> if bcrypt.hashpw(password, node_hash) == node_hash:
... print("It Matches!")
... else:
... print("Does not match")
...
It Matches!

有没有办法在 python 中创建 bcrypt 哈希以在 Node.js 应用程序中使用?

最佳答案

是的,与 Node 中的方式相同,将哈希值作为第二个参数传入以进行检查。使用不同的随机盐创建一个不应匹配。

关于javascript - python bcrypt 和 node.js bcrypt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25155194/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com