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