【问题标题】:How can I work with numbers larger than 2^1024 in Lua如何在 Lua 中处理大于 2^1024 的数字
【发布时间】:2015-12-07 11:01:22
【问题描述】:

我正在尝试在 Lua 中复制一些加密方法,而 Lua 不喜欢大数字。例如:

打印(6219^3445)
> inf

有人知道解决这个问题的方法吗?

【问题讨论】:

  • 推出自己的加密货币不是一个好主意,特别是如果这是用于生产的系统。为久经考验的库找到一些 Lua-C 绑定。
  • stackoverflow.com/questions/288707/…,这里是第一个 Lua 问题。

标签: lua


【解决方案1】:

您可以使用 Lua 库,例如: http://oss.digirati.com.br/luabignum/

对于加密,您可能想查看 lua 的 openssl-bindings,也许这些已经包含您要实现的内容: http://luacrypto.luaforge.net/https://github.com/zhaozg/lua-openssl

【讨论】:

  • 对不起,我忘了添加这个,但在我所处的环境下,我不能真正使用图书馆。它不在常规 Lua 解释器中执行。
  • @tjpc3TheRedstoner 可以进行测试,或者进行一些实验。但在生产中,这是一个很大的禁忌。
  • 不用于生产。我想我得告诉我用它做什么。我正在尝试使用 lua 中的 OpenComputers(计算机模块)在 Minecraft 中复制 RSA 加密(除其他外)。
  • "对于那些熟悉 LUA 结构的人" (bignum) 我一读到'LUA'就转身就再也没有回头
【解决方案2】:

嗯。一个非常愚蠢(但有效)的方法可能是将您的数字保存在字符串中,并在数学运算中分别处理每个数字。连接 tostring。

【讨论】:

    猜你喜欢
    • 2015-02-18
    • 2017-12-29
    • 2013-06-22
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多