0

我需要将 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)

?

4

1 回答 1

1

您正在寻找的功能确实是crypto.randomBytes. 这是在 Node.JS 中生成加密安全随机数的适当方式。

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

于 2021-07-21T21:58:41.293 回答