簡體   English   中英

用Java生成唯一密鑰

[英]Generate unique key in Java

我們正在將使用NodeJs編碼的服務器項目遷移到Java編碼的項目。 我不太喜歡密碼學,但是我需要將以下指令“翻譯”為Java。

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

基本上在node js項目中,他們使用js庫crypto來生成唯一密鑰,而我需要在Java中做同樣的事情,不多也不少。 有加密知識的人可以在這里提供幫助嗎? 在Java中相當於什么?

謝謝

你可能會用這樣的東西

import java.util.uuid;
...

UUID  newUUID = UUID.randomUUID();

String.valueOf(newUUID);

...

您可以從Java使用UUID:

UUID.randomUUID()

通過在Google上的快速搜索,我得到了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);

這是在博客中。 希望能幫助到你。

您可以使用

Random.nextBytes(byte[] bytes) 

填充隨機字節數組,然后使用此處討論的策略將字節轉換為十六進制

嘗試這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM