0

我有一个快速的问题 7:34 我不是开发人员,但我想测试一个场景。这是关于安全的RNG。我想要一个 jar 文件,它只是System.out.println 告诉当前 JRE 正在使用哪个securerandom.source,这个 jar 文件正在运行。这意味着如果我运行这个 jar 文件java -jar myconfigOut.jar ,那么它应该被打印到控制台,比如

Secure Random file used = /dev/urandom (or /dev/random)   <-- which ever value is being used in that JRE.

https://docs.oracle.com/javase/9​​/docs/api/java/security/SecureRandom.html

我快速搜索并抓取了 oracle library wiki,但不知道如何进行此编码。如果我们知道 java,我相信这将是几行简单的代码。

这个怎么做 ??

4

1 回答 1

0

好吧,我已经做了一些详尽的搜索,并在一小时内快速学习了 java 基础知识,并编写了一个实际吐出需求的代码。这是下面的代码

import java.security.*;
import java.util.*;

public class myConfigOut {
    public static void main(String[] argv) {

        try {
            // Trying to see which secureRandom provider we are using
            System.out.println("Trying to output RNG source");
            SecureRandom secureRandom = new SecureRandom();
            System.out.println("Secure random source: " + Security.getProperty("securerandom.source"));
            System.out.println("java.security.egd: " + System.getProperty("java.security.egd"));
            System.out.println("Algorithm: " + secureRandom.getAlgorithm());
        } finally {
            System.out.println("I'm done here");
        }
    }
}

输出如下所示:

Trying to output RNG source
Secure random source: file:/dev/urandom
java.security.egd: file:/dev/urandom
Algorithm: NativePRNG
I'm done here

这是一个非常幼稚的代码,因为我只是浏览了如何编写 java hello world 和其他一些东西,然后编写了这个简单的代码。我必须在这里编写代码和/或询问,因为我在任何地方都找不到这个要求,但我的要求已经得到满足并且在这里一切都很好。

于 2021-11-17T04:08:02.290 回答