Java SecureRandom 实例 SHA1PRNG 等效于 Node.JS/

Java SecureRandom Instance SHA1PRNG equivalent in Node.JS/

我需要将 Java 中的函数转换为 Node JS

    public byte[] GetId() throws NoSuchAlgorithmException {
      byte[] byArray = new byte[4];
      byte[] byArray2 = new byte[8];
      SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
      secureRandom.nextBytes(byArray);
      secureRandom.nextBytes(byArray2);
      return byArray2;
    }

那么 secureRandom.getInstance 和 nextBytes 与 Javascript 的等价物是什么?

我需要使用加密库吗?喜欢:

crypto.randomBytes(8)

?

您要找的函数是indeed crypto.randomBytes。这是在 Node.JS.

中生成加密安全随机数的适当方法

另请注意,在 Java 中,如果可以避免的话,您真的不想显式使用 SHA1PRNG 实现。如果可能,最好使用 OS 默认 PRNG,因为 SHA1PRNG 有一些已知的弱点,所以您只需编写 new SecureRandom(),这将在每个平台上做正确的事情。