Reactjs 在javascript中从缓冲区创建bigInteger

Reactjs 在javascript中从缓冲区创建bigInteger,reactjs,cryptography,biginteger,Reactjs,Cryptography,Biginteger,我在盖茨比使用一个bigInt库,就像这样 import BigInteger from 'bigi'; const signature = ecdsa.sign(shaMsg, BigInteger.fromBuffer(privateKey)); 生产构建中似乎存在一些我无法修复的polyfill问题。在localhost中运行时,没有问题 所以我想我应该尝试一个不同的bigInt库,看看这是否能修复它 import bigInt from "big-integer"

我在盖茨比使用一个bigInt库,就像这样

import BigInteger from 'bigi';

const signature = ecdsa.sign(shaMsg, BigInteger.fromBuffer(privateKey));
生产构建中似乎存在一些我无法修复的polyfill问题。在localhost中运行时,没有问题

所以我想我应该尝试一个不同的bigInt库,看看这是否能修复它

import bigInt from "big-integer";
问题是这个库没有
fromBuffer
函数,上面代码中的
signature
是类型buffer

除了使用“bigi”库中的函数,我如何转换它

谢谢(这个问题有意义吗,因为我不知道我在做什么)

编辑:为了澄清,控制台在开发构建(有效的)结果中记录
biginger.fromBuffer(privateKey)

在生产环境中,如果它不起作用,则使用与上述相同的日志

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的问题。由于悬赏,我无法关闭,也无法发布答案,因此我不知道该怎么办

该库已被弃用()

如果需要其他曲线,请使用或


你的问题对我来说很有意义。也许你可以创建一个字节的bigint,左移位8,创建下一个字节的bigint,然后添加它,左移位8,依此类推。Shift通常不是一个非常昂贵的操作(但由于JS并不真正执行整数类型,我不知道它的速度有多快)。@MaartenBodewes如何创建一个字节的bigint,如何左移位8?这是怎么做到的?你可以用括号索引缓冲区中的字节,然后用一个参数使用biginger构造函数
shiftLeft
是大整数类的一种方法,对吗?@MaartenBodewes这是第一次做这种事情,所以IDK。你认为这个图书馆有帮助吗?这可能与BigInteger的实现无关,更与您的
ecdsa.sign
函数无关。这是什么图书馆?
Expected property "1" of type BigInteger, got n