允许用户输入用于河豚加密的密钥

时间:2011-06-06 11:36:27

标签: java sqlite blowfish

我正在编写一个sqlite数据库,它将使用blowfish加密消息。但是,为了有效地使用它,用户必须能够在程序启动时输入数据库的密钥。问题在于我使用随机生成的密钥来保证安全性,但这似乎使得用户无法输入密钥。有没有人有任何想法如何让用户输入密钥,同时避免强迫他们输入,例如,空字符。

1 个答案:

答案 0 :(得分: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();
相关问题