e199. getting the bytes of a generated key pair.txt
来自「这里面包含了一百多个JAVA源文件」· 文本 代码 · 共 34 行
TXT
34 行
try {
String algorithm = "DSA"; // or RSA, DH, etc.
// Generate a 1024-bit Digital Signature Algorithm (DSA) key pair
KeyPairGenerator keyGen = KeyPairGenerator.getInstance(algorithm);
keyGen.initialize(1024);
KeyPair keypair = keyGen.genKeyPair();
PrivateKey privateKey = keypair.getPrivate();
PublicKey publicKey = keypair.getPublic();
// Get the bytes of the public and private keys
byte[] privateKeyBytes = privateKey.getEncoded();
byte[] publicKeyBytes = publicKey.getEncoded();
// Get the formats of the encoded bytes
String format = privateKey.getFormat(); // PKCS#8
format = publicKey.getFormat(); // X.509
// The bytes can be converted back to public and private key objects
KeyFactory keyFactory = KeyFactory.getInstance(algorithm);
EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(privateKeyBytes);
PrivateKey privateKey2 = keyFactory.generatePrivate(privateKeySpec);
EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(publicKeyBytes);
PublicKey publicKey2 = keyFactory.generatePublic(publicKeySpec);
// The orginal and new keys are the same
boolean same = privateKey.equals(privateKey2); // true
same = publicKey.equals(publicKey2); // true
} catch (InvalidKeySpecException e) {
} catch (NoSuchAlgorithmException e) {
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?