【发布时间】:2018-03-08 22:30:24
【问题描述】:
我在python中有一个工作脚本,使用long(16)根据指定的基数将字符串转换为整数:
modulus=public_key["n"]
modulusDecoded = long(public_key["n"], 16)
打印:
8079d7ae567dd2c02dadd1068843136314fa3893fa1fb1ab331682c6a85cad62b208d66c9974bbbb15d52676fd9907efb158c284e96f5c7a4914fd927b7326c40efa14922c68402d05ff53b0e4ccda90bbee5e6c473613e836e2c79da1072e366d0d50933327e77651b6984ddbac1fdecf1fd8fa17e0f0646af662a8065bd873
和
90218878289834622370514047239437874345637539049004160177768047103383444023879266805615186962965710608753937825108429415800005684101842952518531920633990402573136677611127418094912644368840442620417414685225340199872975797295511475162170060618806831021437109054760851445152320452665575790602072479287289305203
分别。
这看起来像是十六进制到十进制的转换。
我试图在 JS 中得到相同的结果,但 parseInt() 和 parseFloat() 产生了完全不同的结果。除此之外,JavaScript 似乎不喜欢输入字符串中的字符,有时会返回 NaN。
谁能提供一个函数/指导如何获得与 Python 脚本中相同的功能?
【问题讨论】:
-
我认为这很接近,但它返回浮点...当然,在发布问题后,我在这里找到了几乎准备好的解决方案:(danvk.org/hex2dec.html)
-
尝试将字符串转换为数字的目的是什么?为什么不使用数字的字符串表示?
-
@guest271314 我认为 OP 没有完全了解 js 数字精度...
-
@Jonasw 是的,你是对的。我的主要问题是理解精度和溢出。
标签: javascript python cryptography