java 加密 RSA(一)
来源:互联网 发布:mac版pscc下载 编辑:程序博客网 时间:2024/06/08 01:22
KeyPairGenerator kpg= KeyPairGenerator.getInstance("RSA");kpg.initialize(1024);KeyPair kp = kpg.generateKeyPair();PublicKey puk=kp.getPublic();PrivateKey prk = kp.getPrivate();//先给密钥对byte[] bpuc=puk.getEncoded();//公钥byte[] bpri=prk.getEncoded();//私钥KeyFactory kf = KeyFactory.getInstance("RSA");String str="一段需要加密的文字:锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦。";//公钥加密X509EncodedKeySpec xek = new X509EncodedKeySpec(bpuc);Key key = kf.generatePublic(xek);Cipher cipher=Cipher.getInstance(kf.getAlgorithm());cipher.init(Cipher.ENCRYPT_MODE,key);byte[] a=cipher.doFinal(str.getBytes());String astr=new String(a);System.out.println("公钥加密:"+astr);//私钥解密PKCS8EncodedKeySpec pkcs = new PKCS8EncodedKeySpec(bpri);key = kf.generatePrivate(pkcs);cipher=Cipher.getInstance(kf.getAlgorithm());cipher.init(Cipher.DECRYPT_MODE, key);byte[] b=cipher.doFinal(a);String bstr=new String(b);System.out.println("私钥解密;"+bstr);//私钥加密pkcs = new PKCS8EncodedKeySpec(bpri);key = kf.generatePrivate(pkcs);cipher=Cipher.getInstance(kf.getAlgorithm());cipher.init(Cipher.ENCRYPT_MODE,key);byte[] c=cipher.doFinal(str.getBytes());String cstr=new String(c);System.out.println("私钥加密:"+cstr);//公钥解密xek = new X509EncodedKeySpec(bpuc);key = kf.generatePublic(xek);cipher=Cipher.getInstance(kf.getAlgorithm());cipher.init(Cipher.DECRYPT_MODE,key);byte[] d=cipher.doFinal(c);String dstr=new String(d);System.out.println("公钥解密:"+dstr);//签名Signature sign = Signature.getInstance("MD5withRSA");//私钥加密生成数字签名??pkcs = new PKCS8EncodedKeySpec(bpri);PrivateKey priK = kf.generatePrivate(pkcs);sign.initSign(priK);sign.update(cstr.getBytes());String estr=new String(Base64.encode(sign.sign()));System.out.println("私钥签名:"+estr);//公钥校验xek = new X509EncodedKeySpec(bpuc);PublicKey pubK = kf.generatePublic(xek);sign.initVerify(pubK);sign.update(cstr.getBytes());System.out.println("公钥校验:"+sign.verify(Base64.decode(estr.getBytes())));
0 0
- java 加密 RSA(一)
- java实现RSA和AES加密(一)
- java RSA 加密(配置文件)
- RSA加密解密一
- rsa加密(一)
- java RSA加密 RSA签名
- java加密技术--RSA加密
- Java加密技术(四)RSA
- spark(java)实现rsa加密
- RSA非对称加密(java版)
- Java 实现Rsa 加密
- Java RSA算法加密
- java的RSA加密
- RSA加密,java实现
- Java RSA加密
- java实现RSA加密
- java RSA加密解密
- Java RSA加密解密
- 【php】Centos系统下Lamp环境的快速搭建
- C指针
- android 连续点击N次去执行某任务
- POJ 2374 线段树建图+Dijkstra
- 数据库链接管理类Twisted adbapi.ConnectionPool
- java 加密 RSA(一)
- jzoj 4832. 【NOIP2016提高A组集训第3场10.31】高维宇宙 网络流或状压dp
- wifi详解-1(基本常识)
- Android Studio创建Assets Folder、JNI文件夹、AIDL文件夹
- 算法基础
- Ajax使用FormData对象实现无刷新上传文件
- Linux学习--第八天--acl、SetUID、SetGID、chattr、lsattr、sudo
- activity的四种启动模式
- web前端性能优化的方法