SecureRandomを使用して秘密鍵を生成する方法。 getInstanceStrong()?SecureRandom.getInstanceStrong()を使って秘密鍵を生成するには?
このコードでは、ランダムな値を持つバイト配列を受け取ることができます。 (ビット)、タイプ(int、文字列)、フォーマット(hex、bin、dec)のキーを生成する簡単な方法はありますか?
package com.company;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
public class KeyGen {
public void generate() throws NoSuchAlgorithmException {
SecureRandom random = SecureRandom.getInstanceStrong();
byte[] values = new byte[32]; // 256 bit
random.nextBytes(values);
StringBuilder sb = new StringBuilder();
for (byte b : values) {
sb.append(String.format("%02x", b));
}
System.out.print("Key: ");
System.out.println(sb.toString());
}
}
出力:
Key: 8fcea84897f48f575c22441ece4e7ddb43ac08cd2c1a83fca46c080768468059
実際にあなたのパッケージ名は 'com.pany'です。 –
@MaartenBodewes IntelliJ IDEAのデフォルトテンプレートです。 –
ああ、OK、デフォルトではEclipseを使っていましたが、それは分かりませんでした。あなた自身の暗号では、あなたの現在のコードでは間違っているようには見えません。あなたは鍵管理について考えるかもしれません。ランダムキーを何らかのコンテナに置くことは、良いアイデアか、教師の公開PGPキーで暗号化することができます(Bouncy Castle機能など)。 –