我有这个代码来生成一个随机密钥。
new BigInteger(130, random).toString(32);
据我了解,代码的第一部分将创建一个 130 位的随机整数。然后,.toString(int radix)
将在其上调用该方法,并将数字转换为字母数字字符串。
我无法理解的是字符使用的是哪个字母;换句话说,哪个键映射到哪个字符?
注意:我寻找如何进行Base 32 转换,但我想不出任何有用的东西,因为它似乎不是一种独特的方法来做到这一点。
我有这个代码来生成一个随机密钥。
new BigInteger(130, random).toString(32);
据我了解,代码的第一部分将创建一个 130 位的随机整数。然后,.toString(int radix)
将在其上调用该方法,并将数字转换为字母数字字符串。
我无法理解的是字符使用的是哪个字母;换句话说,哪个键映射到哪个字符?
注意:我寻找如何进行Base 32 转换,但我想不出任何有用的东西,因为它似乎不是一种独特的方法来做到这一点。
javadoc说:
" 使用由 提供的数字到字符的映射
Character.forDigit
,如果合适的话,前面会加上一个减号。" .
后一个 javadoc 说:
" 如果数字小于 10,则返回 '0' + digit。否则,返回值 'a' + digit - 10。"