比特币地址

首先介绍随机数:

首先产生真正的随机数目前的计算机无法做到,目前来看只能量子力学能达到吧,计算机目前只能做到统计学上的随机,如根据鼠标移动,系统时间硬件参数等等,足以保证密码学上的安全性。在各个语言的的随机数实现中,都采用了种子的实现方式,这种方式的缺点很明显,如果知道的随机数种子,就能预测到下一次的随机数

        Random random = new Random(100);
        System.out.println("random.nextInt() = " + random.nextInt());

以上程序片段产生的随机数一直都是: 1193959466

import org.apache.commons.text.RandomStringGenerator;

import java.util.Random;

import static org.apache.commons.text.CharacterPredicates.DIGITS;
import static org.apache.commons.text.CharacterPredicates.LETTERS;

/**
 * @author Ice Shui
 */
public class RandomDemo {
    public static void main(String[] args) {
        Random random = new Random(100);
        System.out.println("random.nextInt() = " + random.nextInt());
        System.out.println("random.nextInt() = " + random.nextInt());
        System.out.println("random.nextInt() = " + random.nextInt());

        double random1 = Math.random();
        System.out.println("random1 = " + random1);

        RandomStringGenerator build = new RandomStringGenerator.Builder().withinRange('0', 'z').filteredBy(LETTERS, DIGITS).build();
        for (int i = 0; i < 10; i++) {
            String generate = build.generate(6);
            System.out.println("generate = " + generate);
        }


    }
}

你可能感兴趣的:(比特币地址)