我正在编写一个 sqlite 数据库,它将使用河豚加密消息。然而,为了有效地使用它,用户必须能够在程序启动时输入数据库的密钥。问题是我使用随机生成的密钥来保证安全,但这似乎使用户无法输入密钥。有没有人知道如何让用户输入密钥,同时避免强迫他们输入,例如,一个空字符。
问问题
252 次
1 回答
0
您可以按如下方式生成密码:
SecureRandom r = new SecureRandom();
byte[] bytes = new byte[16];
r.nextBytes(bytes);
String pwd = new BigInteger(bytes).toString(Character.MAX_RADIX);
System.out.println(pwd);
要将密码转换回字节数组,请使用:
bytes = new BigInteger(pwd, Character.MAX_RADIX).toByteArray();
于 2011-06-06T11:56:52.797 回答