reactjs - 从 javascript 中的缓冲区创建 bigInteger
问题描述
我在 gatsby 中使用 bigInt 库,就像这样
import BigInteger from 'bigi';
const signature = ecdsa.sign(shaMsg, BigInteger.fromBuffer(privateKey));
生产版本中似乎存在一些我无法修复的 polyfill 问题。在 localhost 中运行时没有问题。
所以我想我会尝试一个不同的 bigInt 库来看看这是否能解决它
import bigInt from "big-integer";
问题是这个库没有fromBuffer
函数,signature
在上面的代码中是缓冲区类型。
除了使用“bigi”库中的函数之外,我如何转换它?
谢谢(这个问题是否有意义,因为我不知道我在做什么)
编辑:为澄清起见,控制台登录BigInteger.fromBuffer(privateKey)
开发版本(有效的版本)结果:
BigInteger {0: 5218218, 1: 6291014, 2: 34656281, 3: 1776116, 4: 53518743, 5: 10808093, 6: 62725491, 7: 63913863, 8: 50275223, 9: 1979384, t: 10, s: 0}
在生产环境中,它不起作用,上面的相同日志
n {0: 5218218, 1: 6291014, 2: 34656281, 3: 1776116, 4: 53518743, 5: 10808093, 6: 62725491, 7: 63913863, 8: 50275223, 9: 1979384, t: 10, s: 0}
我不明白会发生什么,也许问题出在ecdsa
库中,正如下面的评论员所建议的那样
我在生产中遇到的错误是
Expected property "1" of type BigInteger, got n
编辑:我解决了这个问题,我在其他地方得到了帮助,使用椭圆而不是 ecdsa 进行签名,如下所示,这是一个 ecsda 问题。由于赏金,我无法关闭,也无法发布答案,所以我不知道该怎么办
解决方案
推荐阅读
- excel - 将字母添加到具有不同值的行中
- ios - tvOS - 由于playbackBufferEmpty 导致实时视频流停止并且永远不会恢复
- c# - 如何转换列表
数据数组到我可以用于位掩码的东西? - php - 如何在 docker 上同时运行多个项目
- node.js - node_redis(npm redis模块)是否支持redis集群模式或者我们必须使用ioredis?
- matlab - 使用 fplot 函数时如何矢量化?
- r - 将字符串与 for 循环 -R 配对
- json - 使用“JSON”列的 Laravel 5 关系
- javascript - 使用媒体查询的 css 图像交换移动与桌面
- python - 请求 Maya Python 协助:根据文本字段内容连接属性