在Java

时间:2016-08-04 06:55:14

标签: javascript java node.js cryptography

我们正在将使用NodeJ编码的服务器项目迁移到使用Java编码的服务器项目。我不是很喜欢密码学的东西,但我需要"翻译"以下关于Java的说明。

crypto.randomBytes(32).toString('hex');

基本上在节点js项目中,他们使用js库加密来生成一个唯一的密钥,我需要在java中做同样的事情,不多也不少。 谁拥有加密知识可以在这里提供帮助? Java中的等价物是什么?

由于

4 个答案:

答案 0 :(得分:2)

你可能会使用类似这样的东西

import java.util.uuid;
...

UUID  newUUID = UUID.randomUUID();

String.valueOf(newUUID);

...

答案 1 :(得分:1)

您可以使用java中的UUID:

UUID.randomUUID()

通过快速搜索谷歌我得到了https://paragonie.com/blog/2016/05/how-generate-secure-random-numbers-in-various-programming-languages,看看你的情况最接近的是:

SecureRandom csprng = new SecureRandom();
byte[] randomBytes = new byte[32];
csprng.nextBytes(randombytes);

这是在博客中。 希望它有所帮助。

答案 2 :(得分:1)

您可以使用

Random.nextBytes(byte[] bytes) 

填充随机字节数组,然后使用所讨论的策略将字节转换为十六进制here

答案 3 :(得分:0)

试试这个:

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