java - 在 Java 中使用 SecureRandom
问题描述
我试图在 Java 中导入 SecureRamdom 但是
import java.security.SecureRandom;
不工作。我在 Eclipse 中使用 Java SE 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);
}
}
}
推荐阅读
- mysql - 从多个表中插入一个表(MySql)
- c# - Xamarin ListView 备用列颜色
- mysql - 如何选择所有没有订单的商品?(不在任何收据上)
- amazon-web-services - 是否可以在亚马逊 AWS 服务器上运行加密代码?
- javascript - 如何在 sinon 中模拟文件 I/O?
- python - “子集”和“子集随机采样器”的区别
- gitlab-ci - Gitlab CI 作业在新标签上运行,尽管规则说只在主标签上运行
- typescript - TS 中有 2 个返回流,在自动完成中仅找到一个
- python - 在 GitHub API 中出现错误的凭据错误
- mongodb - MongoDB获取集合中价值最高的所有文档