首页 > 解决方案 > 在 Java 中使用 SecureRandom

问题描述

我试图在 Java 中导入 SecureRamdom 但是

import java.security.SecureRandom;

不工作。我在 Eclipse 中使用 Java SE 8。有谁知道如何导入它?

标签: javaeclipsejava-8

解决方案


当然,这是可能的。请看下面的代码:

import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Arrays;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Momir Sarac
 */
public class SecureRandomExample {

    public static void main(String[] args) {

        try {
            // obtain a strong SecureRandom implementation from securerandom.strongAlgorithms property of java.security.Security
            // class
            SecureRandom secureRandom = SecureRandom.getInstanceStrong();
            // print the provided and algorithm obtained for this secureRandom 
            System.out.println("" + secureRandom.getProvider() + "\n" + secureRandom.getAlgorithm());
            //generate 16-long seed bytes
            //generate a given number of seed bytes (to seed other random number generators, for example):
            byte[] bytes = secureRandom.generateSeed(16);
            //print obtained bytes as string from array 
            System.out.println(Arrays.toString(bytes));
            //to get random bytes, a caller simply passes an array of any length, which is then filled with random bytes:
            secureRandom.nextBytes(bytes);
            //print obtained bytes as string from array 
            System.out.println(Arrays.toString(bytes));

        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(SecureRandomExample.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}

推荐阅读