Hyperledger fabric Hyperledger结构:无法从其他链码获取字符串数据

Hyperledger fabric Hyperledger结构:无法从其他链码获取字符串数据,hyperledger-fabric,blockchain,Hyperledger Fabric,Blockchain,例如。我有两个链码A,B -链码A:使用bcrypt生成密码哈希字符串 -链码B:调用链码A并获取密码哈希 测试1:我调用链码A,得到如下密码散列:$2a$10$e9lha95xDRV0EfQQIW9zMecZqspeA5aaI8JUf36vgUmoKXtmzs 测试2:我调用链码B来获取密码散列,如下所示:0Y0═�H�=╗╔�H�=╚╔╚B 任何人,请告诉我发生了什么事?如何修复? 非常感谢。链码必须是确定性的,才能在每个主机上返回相同的结果。默认bcrypt实现生成随机salt,但不满足此

例如。我有两个链码A,B -链码A:使用bcrypt生成密码哈希字符串 -链码B:调用链码A并获取密码哈希

测试1:我调用链码A,得到如下密码散列:$2a$10$e9lha95xDRV0EfQQIW9zMecZqspeA5aaI8JUf36vgUmoKXtmzs

测试2:我调用链码B来获取密码散列,如下所示:0Y0═�H�=╗╔�H�=╚╔╚B

任何人,请告诉我发生了什么事?如何修复?
非常感谢。

链码必须是确定性的,才能在每个主机上返回相同的结果。默认bcrypt实现生成随机salt,但不满足此要求

如何生成密码哈希?你使用bcrypt生成的随机salt吗?谢谢你的回答,我在使用,我猜当密码散列通过有效载荷发送时,它是经过编码的,所以我得到链码B中的奇怪字符串,我不确定我会进一步调查,如果没有,我会找到另一个散列密码包。请阅读这篇关于stroring密码的文章,并注意不能在链码中为每个用户使用随机“salt”。谢谢@mgosk,bcrypt生成的随机salt。我会说我不比较字符串哈希,我使用bcrypt.CompareHashAndPassword[]字节哈希,[]字节密码来比较。我测试了这个案例:在链码A中,我散列我的密码并存储在Couchdb中,在链码B中,我从Couchdb中获取散列并使用此方法bcrypt.CompareHashAndPassword->将其与我的密码进行比较,结果成功。我的问题是,散列是由另一个链码生成的,然后通过bcrypt.CompareHashAndPassword进行比较。。。它应该有效,但不能。这就是我猜有效载荷有问题的原因。