如何在nodejs中将大十六进制值转换为整数?

时间:2015-12-09 10:26:54

标签: node.js rsa bigint

有十六进制值:

var Hex = "ad6eb61316ff805e9c94667ab04aa45aa3203eef71ba8c12afb353a5c7f11657e43f5ce4483d4e6eca46af6b3bde4981499014730d3b233420bf3ecd3287a2768da8bd401f0abd7a5a137d700f0c9d0574ef7ba91328e9a6b055820d03c98d56943139075d";

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

var integer = parseInt(Hex, 16);

但如果我设置大十六进制值,它就不起作用。我认为。 结果是,

1.1564501846672726e+243

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

1 个答案:

答案 0 :(得分:3)

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