Index: forgon-tools/src/main/java/com/forgon/tools/crypto/rsa/RSAEncrypt.java =================================================================== diff -u -r35056 -r40739 --- forgon-tools/src/main/java/com/forgon/tools/crypto/rsa/RSAEncrypt.java (.../RSAEncrypt.java) (revision 35056) +++ forgon-tools/src/main/java/com/forgon/tools/crypto/rsa/RSAEncrypt.java (.../RSAEncrypt.java) (revision 40739) @@ -31,10 +31,10 @@ public class RSAEncrypt { private static Logger logger = Logger.getLogger(RSAEncrypt.class); //rsa公钥 或者可从配置文件读取。 - public static String ENCRYPTPUBLICKEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJg4UBR8UDkeiDqbrG0uR01rM440CkgTaszVX79iVHswh5mxPRSsOlkg5+kEineRoH/YZJL0uM63SDGIxRt1H6jsjT44Fd7uVnmRZMXg2yixyxzyyuZFVGZAtwGyXwutiUAl7YcpPY8kvyHtvS5j2VFoqZh/BJoDHaSZEwmz/KAQIDAQAB"; + public static String ENCRYPTPUBLICKEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkiYUrcQhe6RCFV6loYH0ArLlNGMe6EjiT6zmrkNFLwYwCjlpifduwME4277vAAN3Hf8CUq9K/30ZXAP3VpNYDf+gyq+4fZisKvrUomBnXVF4DSiRijrArYRkskil67E2QF4WxZBew12J79JhRUyy6ufxd9Rc5pdye21c0hJvDxdG3xHZnH1bq5hKlTYOd1sLD+C3kR0CNB8MV+85uS7ejmpKFp2XL5OEJ7l/Cop5kRtwJWRtxTrFt2m7thNqcFitKwz3Ib8qzWH8otYIc6RFXMDekOZuKhFPRjGx3+zUhrPPb/weixmt/lORZ7tSdA02jFrXwcQEmBr38zjk+cGx8wIDAQAB"; //rsa私钥 或者可从配置文件读取。 - public static String DECRYPTPRIVATEKEY = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAImDhQFHxQOR6IOpusbS5HTWszjjQKSBNqzNVfv2JUezCHmbE9FKw6WSDn6QSKd5Ggf9hkkvS4zrdIMYjFG3UfqOyNPjgV3u5WeZFkxeDbKLHLHPLK5kVUZkC3AbJfC62JQCXthyk9jyS/Ie29LmPZUWipmH8EmgMdpJkTCbP8oBAgMBAAECgYAkCRkTqtEQDG5YAmR1sdI4ZAL3R2YrNck0I2MC8g/26A2ygFcDI4p9mva9Z+YCLRQLP/6usvwjY5hWulobF+UdV0iKqQYiDcTj/GIKLpEiAnFlSqPqIfC3JOcHUFOXyNHDDcBfxj5rytaMSmxxNq599QbaaUlhpu6JoRoq24MKWQJBAMbkfeGnErdUFVeVTwTjIYKTO5+n+U293HAKucSlKBOsskPtzobUcW9br3cwo2CFejJUiHoJFKvMfy2zeKYQ7q8CQQCw/2gUgOZc4PvmXdyxzx973FCIKa2jJREWdqW2TpPwOARz8tl3YvSJImsBsQjHdcrhwSZ8x2molHOH2ZrlNH5PAkB9YJJeCjUJLk8Z2/xpB0kbh/bBCWFl+XaZhpledgJSjL3/hkx3wDoVycVNrHKBKQND8Pfrfgfy2MGfLJC0lt3vAkB5bL5aUpO25CHryDi/Qvi2YE5fGzij06oFXyAQEZgsFEH5yYCnBpv7+ECwyGLdc1HbzkY5FBTIMg+QAxjgZULBAkEAg5yGv2Dz+o3sD+mgpiY/wOYh1es0MWi7uxNEwkajxvrI/ian6pZu6XWpY3a+muf19Q+EDfPNwik4vFv4NgAwEA=="; + public static String DECRYPTPRIVATEKEY = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCSJhStxCF7pEIVXqWhgfQCsuU0Yx7oSOJPrOauQ0UvBjAKOWmJ927AwTjbvu8AA3cd/wJSr0r/fRlcA/dWk1gN/6DKr7h9mKwq+tSiYGddUXgNKJGKOsCthGSySKXrsTZAXhbFkF7DXYnv0mFFTLLq5/F31Fzml3J7bVzSEm8PF0bfEdmcfVurmEqVNg53WwsP4LeRHQI0HwxX7zm5Lt6OakoWnZcvk4QnuX8KinmRG3AlZG3FOsW3abu2E2pwWK0rDPchvyrNYfyi1ghzpEVcwN6Q5m4qEU9GMbHf7NSGs89v/B6LGa3+U5Fnu1J0DTaMWtfBxASYGvfzOOT5wbHzAgMBAAECggEAGe7R6oeL3XGnHD2gLElv7+6ohyQzfso4BiVLBY8APrjdW2MWnBmguGlQ2oVFyX3T7Cms0tkx+KXNEyvM/rrEfC9o665EkVy+6B18D5gFn2RuZf9V2+5S9Dcy2wPTFUBrvP41Ejds6UO2zyxIgFB8yvv/N+Eh3vTupoIgX1JQDKAxpds2gF/sGNkJ6ADrPU4K7R0U6aK6E4MxFisSqcNwUHOqjleHhil+Yq+7TDtBpimX38eMpEytmhbFwG+yZJpr6uUbp3K6C2j7G9WLs5/r89BqOT807MyzpN4a8/MBRjCKebQNbmxeoipd9+rv8caDmdpMsUGymvuptwRZL17WSQKBgQDtejvyjj4Zo/oLUg4mirO/gSILJCVNu9YqU/7GG55Aw7WvJ5hhc2PsaUMRP7PM2IZG4ED2oMuV8iTFFGDG9cX1rSQXWJjbYVCbbcbQppYnoY/IJ2gUPnFw0PlzFSnh8uv3ZaMPxrugZlpMoQUoRnHbuzfrlk+FAm0GDkiA6kW1PwKBgQCdjEP8gZzfbzZ09BBNOkS2MIwKebMYCJolJmM2xcg4y1glgt0xB+nXLyY7g2nGP3qLqgTg93Pr+Qm0ldKKYFYqv/Ntw2rqtJTKnTFk0NPrrWcnJm39udZSWUR9LaYl/13l8qY2qve7KWXQ/6nn8c6SqIA6Q09A++2jSiK7dkRSTQKBgQDEDJ1g6T0rPcw3fE5iUy+BccIBIJ4LRn7QAvfZ5QMIxIlBSJbsHK7phRzxKH3vJvHzoT8AXE62Q2lHqkMa/dunroCVJXdL5VL+feocZuqfXSmuO5oY3FQapurIrzgcaMeVPjsX0yEikl0J1gTD8yQcGrtXqoeLby1CSphglQdnUQKBgBQGYhXUO6ZCsn9HDlNilp05qnMiaNsjLMSQDohFt19QqVGLQqYaxWQugAOMfoNOSjs6TwhxK3DQ5KTpbitcd1dTspM/BXXzof3m4QJZcLZCAhx9y/k2B8HLyuLGTJoDzWGO6AWG0ZoeduyLsoLiv0jw1euR5p7x5pCcubFuJNz5AoGBAOgY8Jg8NZJU7qr2OLF2WmdSH310TelguKvXRUB3w+HTEsbq/cyaq7LoojB+C7FfdC/sCLOkM260LZOYp1/KYdP5wwfhdI/a1xv7i6fHqjZLaKAxh+p/HI6b+XUfGAsdWh2zGsVTH3LIlzwrvjAj+hzY5dVGDMdmKF4i7fxt4pqk"; private static Map keyMap = new HashMap(); //用于封装随机产生的公钥与私钥 public static void main(String[] args) throws Exception { @@ -49,7 +49,8 @@ String messageDe = decrypt(messageEn,DECRYPTPRIVATEKEY); System.out.println("还原后的字符串为:" + messageDe);*/ - String messageEn = "Ea5vhqVSOrdT+89gyRpnJXseI9+eOjUCNNsmwq5MT6oEH8jp6vwMOcLOhGa3zEY8yFWoG3hFktuMHKKrWD5NXMfLBwIB6P1DjoNRMOLfJT/IT3Pn0Frs2L7zsAXuUjfAvtgxvI4INnwZU3Z6pPtpfsSQEewmNsfqMJ2wfqKw9YA="; + //String messageEn = "Ea5vhqVSOrdT+89gyRpnJXseI9+eOjUCNNsmwq5MT6oEH8jp6vwMOcLOhGa3zEY8yFWoG3hFktuMHKKrWD5NXMfLBwIB6P1DjoNRMOLfJT/IT3Pn0Frs2L7zsAXuUjfAvtgxvI4INnwZU3Z6pPtpfsSQEewmNsfqMJ2wfqKw9YA="; + String messageEn = "dBU6IZ71WXJLhxKruefKrCxDe5ti8hDGi0p+Y5/Wu6wcpcSCQdeeTxY6UMBJ9Ds/caeJqEIAly444fftblNMCbjIpkQEzmHKE50PLdN/B4R0LLT6RgJFd6ASqA50nj0wJp084kiUXvragGjbVcb/swx4BmzlM1CVJrx8H6gr2ZOO+vUkrzxaX73jtWxeBbZXlP9KqJUT6sfGlluThrhtY+IB6xNT3E24gmv3TXZzz+4tddfxnFEPu6SimY0Ij8jmRkDxc3+CA0roCiwarKmcA8e9iz0uGYw0PDxRHhg/YIgsUReu0TwopQFGS0vgApgcdoX+BQRzXHQA5qnRUYfkvQ=="; String messageDe = decrypt(messageEn,DECRYPTPRIVATEKEY); System.out.println("还原后的字符串为:" + messageDe); } @@ -62,7 +63,8 @@ // KeyPairGenerator类用于生成公钥和私钥对,基于RSA算法生成对象 KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA"); // 初始化密钥对生成器,密钥大小为96-1024位 - keyPairGen.initialize(1024,new SecureRandom()); + //keyPairGen.initialize(1024,new SecureRandom()); + keyPairGen.initialize(2048, new SecureRandom()); // 生成一个密钥对,保存在keyPair中 KeyPair keyPair = keyPairGen.generateKeyPair(); RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); // 得到私钥