时间:2021-05-19
RSA的应用
RSA是一种非对称加密算法。现在,很多登陆表单的密码的都采用RSA加密,例如京东中的登陆使用公钥对密码进行加密
java使用RSA加密方式实现数据加密解密,需要首先产生私钥和公钥
测试代码
public static void main(String args[]) { try { RSADemo rsa=new RSADemo(); rsa.generateKey(); byte[] data=rsa.encrypt("luanpeng".getBytes()); byte[] data1=rsa.decrypt(data); String str=new String(data1); System.out.println(str); } catch (Exception e) { System.out.println(e.toString()); }}RSA工具类的实现
package com.lp.app.safe;import java.security.*;import java.security.interfaces.*;import java.math.*;public class RSADemo { public RSADemo() { } PublicKey pbkey; PrivateKey prkey; public void generateKey() { try { KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); kpg.initialize(1024); KeyPair kp = kpg.genKeyPair(); pbkey = kp.getPublic(); prkey = kp.getPrivate(); } catch (Exception e) { } } //加密,需要公钥 public byte[] encrypt(byte[] ptext) throws Exception { // 获取公钥及参数e,n RSAPublicKey pbk = (RSAPublicKey)pbkey; BigInteger e = pbk.getPublicExponent(); BigInteger n = pbk.getModulus(); // 获取明文m BigInteger m = new BigInteger(ptext); // 计算密文c BigInteger c = m.modPow(e, n); return c.toByteArray(); } //使用私钥进行解密 public byte[] decrypt(byte[] ctext) throws Exception { // 读取密文 BigInteger c = new BigInteger(ctext); // 读取私钥 RSAPrivateKey prk = (RSAPrivateKey)prkey; BigInteger d = prk.getPrivateExponent(); // 获取私钥参数及解密 BigInteger n = prk.getModulus(); BigInteger m = c.modPow(d, n); // 显示解密结果 byte[] mt = m.toByteArray(); return mt; }}总结
以上所述是小编给大家介绍的java使用RSA加密方式实现数据加密解密的代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.RSA加密与解密--使用公钥加密、私钥解密publicclassRSATool{publicstringEncrypt(stringstrText,stri
Python3.7基于pycryptodome的AES加密解密、RSA加密解密、加签验签,具体代码如下所示:#!/usr/bin/envpython#-*-co
java加密之RSA算法加解密与解密的实例详解前言:RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者RonRive
在asp中通过vbs类实现rsa加密与解密,建议入精华本文章有两文件组成test.asp测试演示文件clsrsa.asp实现rsa加密与解密的vbs类文件下面是
现在就为大家介绍一种基于因子分解的RSA算法,这种加密算法有两种实现形式:1、公钥加密,私钥解密;2、私钥加密,公钥解密。下面就为大家分析一下实现代码,相对于D