-1

I am making a basic encryption program that is based on PI number. (IN JAVA)

However, when I make use the function Math.PI, I only get 3.141592653589793 and nothing more.

So I was wondering if there is a method in which I can up to 300~500th digit of Pi.

Thank you

4

2 回答 2

0

实际上,它们有很多。这是一个让您开始使用算法的地方。 http://en.wikipedia.org/wiki/Pi#Computer_era_and_iterative_algorithms

自己计算是很费钱的。您可以立即下载相当精确的值,例如:http: //pi.karmona.com/

于 2013-10-29T15:13:06.397 回答
0

您可以使用spigot 算法来生成您的数字,如果您认为您将需要如此多的数字以至于将它们全部存储起来将是一个问题。

一种更高级的算法是数字提取算法。使用其中之一,您不仅可以计算序列,还可以计算序列中任何位置的任意数字。

如果您的系统中没有真正的绑定要求使用 Pi 进行加密,那么您根本不应该使用 Pi。相反,您应该使用真正的 CSPRNG 来生成您的数字流,因为 Pi 很难预测它来构建一个好的密码系统。(如果您使用 Pi 的原因是您可以在每一端获得相同的流,请放心,您可以从 CSPRNG 的每一端获得相同的序列,只需为它们播种相同的值。)

于 2013-10-29T15:31:08.107 回答