# org.yq.tools.encrypt **Repository Path**: yuquan0405/org.yq.tools.encrypt ## Basic Information - **Project Name**: org.yq.tools.encrypt - **Description**: java加密解密算法工具包。其中包括MD5,SHA1,AES,DES,RSA等对称或对称加密算法 - **Primary Language**: Java - **License**: WTFPL - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 35 - **Forks**: 11 - **Created**: 2015-05-25 - **Last Updated**: 2024-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: RSA ## README #java_jiami java加密解密算法工具包。其中包括MD5,SHA1,AES,DES,RSA等对称或对称加密算法 # 1.RSA使用方法 ## 1.1 生成公私钥 ```java static String publicKey; static String privateKey; /** * 生成公私钥 */ @Before public void init() { try { Map keyMap = RSAUtil.genKeyPair(); publicKey = RSAUtil.getPublicKey(keyMap); privateKey = RSAUtil.getPrivateKey(keyMap); System.out.println("公钥: \n\r" + publicKey); System.out.println("私钥: \n\r" + privateKey); } catch (Exception e) { e.printStackTrace(); } } ``` ## 1.2 RSA对文件进行加解密 ```java try { String dir = RSATest.class.getResource("/").getFile(); File sourceFile = new File(dir+File.separator+"test.txt"); System.out.println(sourceFile.getAbsolutePath()); File targetFile = new File(dir+File.separator+"test_rsa.txt"); //加密 RSAUtil.encryptByPrivateKey2File(sourceFile, targetFile, privateKey); String sign = RSAUtil.sign(targetFile, privateKey); //签名检查 boolean status = RSAUtil.verify(targetFile, publicKey, sign); assertTrue(status); //解密 File targetFile2 = new File(dir+File.separator+"test_rsa_de.txt"); RSAUtil.decryptByPublicKey2File(targetFile, targetFile2, publicKey); } catch (Exception e) { e.printStackTrace(); throw new EncryptException(); } ``` # 2.AES使用方法 ## 2.1 待补充