2015-12-09 18 views
1

有很大的十六進制值:如何將大十六進制值轉換爲nodejs中的整數?

var Hex = "ad6eb61316ff805e9c94667ab04aa45aa3203eef71ba8c12afb353a5c7f11657e43f5ce4483d4e6eca46af6b3bde4981499014730d3b233420bf3ecd3287a2768da8bd401f0abd7a5a137d700f0c9d0574ef7ba91328e9a6b055820d03c98d56943139075d"; 

我怎樣才能將其轉換爲大整數的node.js?我試圖搜索,但我發現的是

var integer = parseInt(Hex, 16); 

但它不工作,如果我把大十六進制值。我認爲。 結果是,

1.1564501846672726e+243 

我怎樣才能恢復正常的大整數?我想在RSA加密中使用模數的這個值。其實我不知道我必須轉換它。

回答

3

您需要精確的整數才能對RSA進行模運算,但需要largest integer in JavaScript is 9007199254740991 without losing precision。您無法將較大的整數表示爲數字。您需要設計一種方法來模塊化算術,其中包含許多大整數塊,或者簡單地使用其中一種可用方式,如JSBN中的大數算術,該算法還提供包括PKCS#1 v1.5填充的RSA的完整實現。

+0

謝謝。我紅色的答案,並找到了一些文件,但正常的JSBN無法使用沒有瀏覽器,幸運的是,我發現這個github:https://github.com/eschnou/node-bignumber 但我得到一個錯誤。你知道什麼是錯的嗎?請訪問該頁面:http://stackoverflow.com/questions/34180984/rsakey-is-not-defined-in-nodejs。 – Juntae

相關問題