Javascript 在Java中生成唯一密钥

Javascript 在Java中生成唯一密钥,javascript,java,node.js,cryptography,Javascript,Java,Node.js,Cryptography,我们正在将一个使用NodeJs编码的服务器项目迁移到一个用Java编码的服务器项目。我对密码学不是很感兴趣,但我需要将下面的指令“翻译”成Java crypto.randomBytes(32).toString('hex'); 基本上,在NodeJS项目中,他们使用js库加密来生成一个唯一的密钥,我需要用java做同样的事情,不多不少。 有谁有密码知识能帮上忙吗?Java中的等价物是什么 谢谢您可以从java使用UUID: UUID.randomUUID() 通过在谷歌上的快速搜索,我得到了

我们正在将一个使用NodeJs编码的服务器项目迁移到一个用Java编码的服务器项目。我对密码学不是很感兴趣,但我需要将下面的指令“翻译”成Java

crypto.randomBytes(32).toString('hex');
基本上,在NodeJS项目中,他们使用js库加密来生成一个唯一的密钥,我需要用java做同样的事情,不多不少。 有谁有密码知识能帮上忙吗?Java中的等价物是什么


谢谢

您可以从java使用UUID:

UUID.randomUUID()
通过在谷歌上的快速搜索,我得到了,看看你的情况,最接近的东西将是:

SecureRandom csprng = new SecureRandom();
byte[] randomBytes = new byte[32];
csprng.nextBytes(randombytes);
这是在博客上。
希望有帮助。

您可以使用来自java的UUID:

UUID.randomUUID()
通过在谷歌上的快速搜索,我得到了,看看你的情况,最接近的东西将是:

SecureRandom csprng = new SecureRandom();
byte[] randomBytes = new byte[32];
csprng.nextBytes(randombytes);
这是在博客上。
希望能有所帮助。

您可能会用到类似的东西

import java.util.uuid;
...

UUID  newUUID = UUID.randomUUID();

String.valueOf(newUUID);

...

你可以用这样的东西

import java.util.uuid;
...

UUID  newUUID = UUID.randomUUID();

String.valueOf(newUUID);

...
你可以用

Random.nextBytes(byte[] bytes) 
要填充随机字节数组,然后使用讨论的策略将字节转换为十六进制,可以使用

Random.nextBytes(byte[] bytes) 
要填充随机字节数组,然后使用讨论的策略将字节转换为十六进制,请尝试以下操作:

SecureRandom random = new SecureRandom();
new BigInteger(256, random).toString(32);
试试这个:

SecureRandom random = new SecureRandom();
new BigInteger(256, random).toString(32);

将需要执行相同的操作,不多也不少
好的,如果您希望实际传递字节数并生成密钥是的,这将生成一个唯一的密钥。这个答案是正确的。
将需要执行相同的操作,不多也不少
确定您希望实际传递字节数并生成密钥是的,这将生成唯一密钥。这个答案是正确的。嗯,也许SecureRandom嗯,也许SecureRandom
Random
不提供加密安全的随机字节<应该改为使用code>SecureRandom。他没有将其用于加密。他只需要一个随机UUID。与
random
的冲突可能太高,无法将结果称为“unique”。无论如何,.nextBytes的实现在这里是文档化的:所以本质上它为每个字节调用nextInt()。我不会假装对密码学有足够的了解,从而知道与SecureRandom实现的其他方法相比,这会产生多少熵。尽管如此,我怀疑这个实现会有很多冲突。
Random
不提供加密安全的随机字节<应该改为使用code>SecureRandom。他没有将其用于加密。他只需要一个随机UUID。与
random
的冲突可能太高,无法将结果称为“unique”。无论如何,.nextBytes的实现在这里是文档化的:所以本质上它为每个字节调用nextInt()。我不会假装对密码学有足够的了解,从而知道与SecureRandom实现的其他方法相比,这会产生多少熵。尽管如此,我怀疑这种实现会有很多冲突。