簡體   English   中英

如何使用可打印字符生成32位隨機密碼?

[英]How to generate a 32bit random password using printable characters?

我需要一個使用Java中所有可打印字符生成32位隨機密碼的函數

到目前為止,我有

Random().ints(10, 33, 123).mapToObj(i -> String.valueOf((char) i)).collect(Collectors.joining());

如何確保這是32位並包含所有可打印字符?

32位等於4個字節,即4個字符。 “所有可打印字符”會根據您的編碼而大不相同:ASCII,UTF-8,UTF-16等……因此,您首先必須選擇編碼方案,然后生成一個4字節的數組,並將其轉換為字符串同時將編碼指定為String()構造函數的參數。

java中的byte從-128到127。所以生成4個字節,將它們偏移到編碼中的第一個字符的值,同時還要注意編碼的上限,將它們全部放入數組中並轉換為String。

暫無
暫無

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

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