私はblowfishを使用してメッセージを暗号化するsqliteデータベースを書いています。ただし、これを効果的に使用するには、プログラムの起動時にユーザーがデータベースのキーを入力できる必要があります。問題は、セキュリティのためにランダムに生成されたキーを使用しているという事実ですが、これにより、ユーザーがキーを入力できなくなっているようです。たとえば、ヌル文字の入力を強制せずに、ユーザーにキーを入力させる方法を知っている人はいますか。
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 に答える