我们正在将使用NodeJ编码的服务器项目迁移到使用Java编码的服务器项目。我不是很喜欢密码学的东西,但我需要"翻译"以下关于Java的说明。
crypto.randomBytes(32).toString('hex');
基本上在节点js项目中,他们使用js库加密来生成一个唯一的密钥,我需要在java中做同样的事情,不多也不少。 谁拥有加密知识可以在这里提供帮助? Java中的等价物是什么?
由于
答案 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)
答案 3 :(得分:0)
试试这个:
SecureRandom random = new SecureRandom();
new BigInteger(256, random).toString(32);