Java生成3DES對稱秘鑰和RSA非對稱秘鑰
/1、對稱加密3DES秘鑰生成/ KeyGenerator kg = KeyGenerator.getInstance("DESede"); kg.init(112);//must be equal to 112 or 168 System.out.println("SecretKey:"); System.out.println(new BASE64Encoder().encode(kg.generateKey().getEncoded()));/2、非對稱加密RSA公鑰和私鑰生成/ KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(512);//RSA keys must be at least 512 bits long KeyPair key = keyGen.generateKeyPair(); System.out.println("PublicKey:"); System.out.println(new BASE64Encoder().encode(key.getPublic().getEncoded())); System.out.println("PrivateKey:"); System.out.println(new BASE64Encoder().encode(key.getPrivate().getEncoded()));</pre>執行結果(RSA有換行):
SecretKey:
74zQ5ko3QN/Tx2GG/c4+f++M0OZKN0Df
PublicKey:
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIv38xXk06As11OCWq0IPQoQAmz20ZiE8T5KeaMTUbhz
UkGNTAQygApua71R/INeEDNsyyQS4PT6EaWTjJop2rcCAwEAAQ==
PrivateKey:
MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAi/fzFeTToCzXU4JarQg9ChACbPbR
mITxPkp5oxNRuHNSQY1MBDKACm5rvVH8g14QM2zLJBLg9PoRpZOMminatwIDAQABAkBqDAR7FBJb
C15hgSQecV194D9WO3L18dOt9FNQgPSroGVYIvIizp1/wIHpMTN6uHwSoaZQcOqV33gxLF6fKbwx
AiEAv390Q3X2cBjeScxhNbqPiOspE9rYD3eWSajN6Q7ud7UCIQC7HTUZelHMCpv4xPzg6e1QZkWh
Bfuqkhg9aOeAnIW0OwIgLW5Tat3FhXqg4ek29sQ34UfJCwjUUXcRlJATqcL9GDECIQChqe+JzrxD
bVsrCY9vB83JLEO2hwPUcJtO24dBAHsopwIgEV547YcgZ+pyI1dnQhiLJiiFif+h1aBzaIH5mrks
htw=