【问题标题】:How to convert big hex value to integer in nodejs?如何在nodejs中将大的十六进制值转换为整数?
【发布时间】:2016-03-14 14:02:55
【问题描述】:

十六进制值很大:

var Hex = "ad6eb61316ff805e9c94667ab04aa45aa3203eef71ba8c12afb353a5c7f11657e43f5ce4483d4e6eca46af6b3bde4981499014730d3b233420bf3ecd3287a2768da8bd401f0abd7a5a137d700f0c9d0574ef7ba91328e9a6b055820d03c98d56943139075d";

如何在 node.js 中将其转换为大整数?我试图搜索,但我发现的是

var integer = parseInt(Hex, 16);

但是如果我输入大的十六进制值,它就不起作用。我想。 结果是,

1.1564501846672726e+243

我怎样才能返回正常的大整数?我想将此值用于RSA 加密中的模数。其实我不知道我是否必须转换它。

【问题讨论】:

标签: node.js rsa bigint


【解决方案1】:

您需要精确的整数来为 RSA 进行模运算,但 largest integer in JavaScript is 9007199254740991 without losing precision.您不能将更大的整数表示为数字。您需要设计一种方法来对许多大整数块进行模运算,或者简单地使用其中一个可用的方法,例如 JSBN 中的大数算法,它还提供了 RSA 的完整实现,包括 PKCS#1 v1.5 填充.

【讨论】:

猜你喜欢
  • 2010-10-16
  • 1970-01-01
  • 1970-01-01
  • 2014-04-16
  • 1970-01-01
  • 2016-12-04
相关资源
最近更新 更多