Java加密算法 RSA
来源:互联网 发布:seo编辑工资一般多少 编辑:程序博客网 时间:2024/06/07 19:33
[java] view plaincopyprint?package com.stone.security; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.util.Arrays; import javax.crypto.Cipher; /** * RSA算法 公钥加密 非对称加密 * @author stone * @date 2014-03-11 00:28:38 */ public class RSA { public static final String KEY_ALGORITHM = "RSA"; public static final String CIPHER_ALGORITHM_ECB1 = "RSA/ECB/PKCS1Padding"; public static final String CIPHER_ALGORITHM_ECB2 = "RSA/ECB/OAEPWithSHA-1AndMGF1Padding"; //不能用 public static final String CIPHER_ALGORITHM_ECB3 = "OAEPWithSHA-256AndMGF1Padding"; //不能用 static PublicKey publicKey; static PrivateKey privateKey; static Cipher cipher; static KeyPair keyPair; public static void main(String[] args) throws Exception { method1("斯柯达U*(Sfsad7f()*^%%$"); method2("斯柯达U*(Sfsad7f()*^%%$"); method3("斯柯达U*(Sfsad7f()*^%%$"); } /** * 公钥加密,私钥解密 使用默认CIPHER_ALGORITHM_ECB1 * @param str * @throws Exception */ static void method1(String str) throws Exception { KeyPairGenerator keyGenerator = KeyPairGenerator.getInstance(KEY_ALGORITHM); KeyPair keyPair = keyGenerator.generateKeyPair(); publicKey = keyPair.getPublic(); privateKey = keyPair.getPrivate(); cipher = Cipher.getInstance(KEY_ALGORITHM); cipher.init(Cipher.ENCRYPT_MODE, publicKey); //公钥加密 byte[] encrypt = cipher.doFinal(str.getBytes()); System.out.println("公钥加密后1:" + Arrays.toString(encrypt)); cipher.init(Cipher.DECRYPT_MODE, privateKey);//私钥解密 byte[] decrypt = cipher.doFinal(encrypt); System.out.println("私钥解密后1:" + new String(decrypt)); } /** * 私钥加密,公钥解密 使用默认CIPHER_ALGORITHM_ECB1 * @param str * @throws Exception */ static void method2(String str) throws Exception { KeyPairGenerator keyGenerator = KeyPairGenerator.getInstance(KEY_ALGORITHM); KeyPair keyPair = keyGenerator.generateKeyPair(); publicKey = keyPair.getPublic(); privateKey = keyPair.getPrivate(); cipher = Cipher.getInstance(KEY_ALGORITHM); cipher.init(Cipher.ENCRYPT_MODE, privateKey); //私钥加密 byte[] encrypt = cipher.doFinal(str.getBytes()); System.out.println("私钥加密后2:" + Arrays.toString(encrypt)); cipher.init(Cipher.DECRYPT_MODE, publicKey);//公钥解密 byte[] decrypt = cipher.doFinal(encrypt); System.out.println("公钥解密后2:" + new String(decrypt)); } /** * 私钥加密,公钥解密 使用CIPHER_ALGORITHM_ECB1 = RSA/ECB/PKCS1Padding * @param str * @throws Exception */ static void method3(String str) throws Exception { KeyPairGenerator keyGenerator = KeyPairGenerator.getInstance(KEY_ALGORITHM); KeyPair keyPair = keyGenerator.generateKeyPair(); publicKey = keyPair.getPublic(); privateKey = keyPair.getPrivate(); cipher = Cipher.getInstance(CIPHER_ALGORITHM_ECB1); cipher.init(Cipher.ENCRYPT_MODE, privateKey); //私钥加密 byte[] encrypt = cipher.doFinal(str.getBytes()); System.out.println("私钥加密后3:" + Arrays.toString(encrypt)); cipher.init(Cipher.DECRYPT_MODE, publicKey);//公钥解密 byte[] decrypt = cipher.doFinal(encrypt); System.out.println("公钥解密后3:" + new String(decrypt)); } }
0 0
- RSA加密算法-Java实现
- Java加密算法 RSA
- Java加密算法 RSA
- Java加密算法 RSA
- java rsa加密算法java实现
- Java非对称加密算法--RSA加密算法
- RSA加密算法Java应用实例
- RSA 加密算法JAVA高级应用
- RSA加密算法java简单实现
- JAVA 非对称加密算法RSA
- RSA加密算法的java实现
- Java非对称加密算法--RSA
- 《Java---RSA加密算法简单应用》
- Java非对称加密算法RSA
- RSA加密算法Java应用实例
- RSA加密算法Java代码示例
- RSA加密算法的java实现
- RSA 加密算法
- 课本小Demo
- 变量声明和定义的区别
- 旅途点
- 挑选Hadoop版本
- 大数据之起步搭开发环境
- Java加密算法 RSA
- 书中对进程的形象比喻
- 【Python】对于不确定的内容,try .. except ..
- 菜鸟学习Android笔记-20140311
- 面试题目
- 四舍六入五单双算法
- 处理指令 [XML 标准]
- ip,udp的checksum算法
- 嵌入式Linux安装交叉工具链