node.js - NodeJs 和 Flutter 中的 Sha 256 不同
问题描述
我crypto
在 Node.js 中使用包并crypto
在颤振中使用包。但是相同字符串的 Sha256 会导致不同的值。我不知道我做错了什么。
这是飞镖代码:
List<int> bytes1 = utf8.encode("abc-234-abc" + json.encode({
"invoiceAmount": 3700.0,
"notes": {
"env": "np",
}
})); // data being hashed
Digest digest1 = sha256.convert(bytes1);
print(digest1)
这是 Node.js 代码:
const crypto = require('crypto')
crypto.createHash('sha256').update(`abc-234-abc`+JSON.stringify(
{
"invoiceAmount": 3700.0,
"notes": {
"env": "np",
}
})).digest('hex')
更新:我注意到 Flutter Web 似乎返回了在 Node.js 中生成的相同哈希值,但 Flutter Android 返回了不同的哈希值。这可能是 Java 和 Node.js 之间的区别。
解决方案
推荐阅读
- javascript - 当我单击 vanilla javascript 中的其他按钮时,从所有其他按钮中删除 ACTIVE 类
- c# - Model Binding vs Form Collection,性能,可扩展性,变化等?
- java-8 - 我在可执行文件中找不到声音文件夹,但如果在 IDE 中找到它
- row - 表 ant d 可扩展行图标
- c# - 属性中的 ResizeArray 实例
- django - 在 django rest 框架中创建嵌套对象
- c++ - LLVM:如何将 CreateCall 参数设置为 BasicBlock 名称?
- ios - 关闭应用程序后不保留预取的 SDWebImage
- c# - Autofac注册多个服务的多个装饰器
- django - 按位置分组并在模板中分组