我正在制作一个基于PI编号的基本加密程序。 (IN JAVA)
然而,当我使用Math.PI函数时,我只得到3.141592653589793而已。
所以我想知道是否有一种方法可以达到Pi的300~500位数。
谢谢
答案 0 :(得分:0)
虽然你自己计算成本很高。您可以下载非常精确的即用型值,例如:http://pi.karmona.com/
答案 1 :(得分:0)
您可以使用spigot algorithm来生成您的数字,如果您认为您需要这么多数字,那么存储它们将是一个问题。
更高级的算法类型是数字提取算法;使用其中之一,您不仅可以计算序列,还可以从序列中的任何位置计算任意数字。
如果您的系统中没有真正的绑定要求使用Pi进行加密,那么就不应该使用Pi 。你应该使用一个真正的CSPRNG来生成你的数字流,因为Pi很难预测它是否能够成为一个好的密码系统。 (如果你使用Pi的原因是你可以在每一端获得相同的流,请放心,你可以从CSPRNG的每一端获得相同的序列,只需用相同的值为它们播种。)