【发布时间】:2012-11-05 13:02:20
【问题描述】:
我正在处理非常大的数字。我的一种算法要求数字“x”小于另一个数字“n”,以便执行该算法。我想知道是否可以加密非常大的数字以产生较小的数字并存储密钥,以便我需要将数字解密回更大的数字?我看过 mcrypt 但它并没有输出所有数字,从我所看到的它输出一个字符串。
【问题讨论】:
-
字符串与一个非常大的数字并没有太大区别(以 256 为基数编写)
-
如果您还不知道,请阅读pigeonhole principle。它是否使这成为不可能,或者对那些使这成为可能的“非常大的数字”(例如
max(large) - min(large_numbers) < n)有限制? -
@Vlad 对于简单的以 128 为基数的 ASCII 字符
-
另外,小于是什么意思?您的意思是比数字比较意义上的小,还是比使用的存储空间小?例如,如果源是整数并且浮点是可接受的目标,则可以实现此目的;那么你可以只划分数字。例如,100 可以通过除以 10 或 100 或 1000 等来压缩...
-
@Vlad - 但它包含字母,因此我无法执行涉及该数字的算术函数
标签: php math encryption mcrypt