Python 与 Javascript MD5 对于大数字不同

我在 Python 中有以下代码:


port_name = 'test-PR-2092'

print int(hashlib.md5(port_name).hexdigest(), 16) % 10000

// 353

在 Javascript 中,我使用加密库来尝试做同样的事情(我无法控制 python 代码,所以我需要保持相同):


parseInt(

  crypto

    .createHash('md5')

    .update('test-PR-2092')

    .digest('hex'),

  16

) % 10000

// 4160

Javascript 产生了截然不同的结果。


看看 int,它们非常相似,只是 Javascript 采用科学记数法。


Python: 158458604564589336383831436621974090353

Javascript: 1.5845860456458934e+38

有谁知道这种差异来自哪里?


编辑:解决了我自己的问题,而不是重复,因为没有人在我见过的任何问题中推荐 BigInteger


慕村9548890
浏览 259回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python