java数据加密解密代码_java使用RSA加密方式实现数据加密解密的代码
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加密方式实现数据加密解密的代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对聚米学院网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
java数据加密解密代码_java使用RSA加密方式实现数据加密解密的代码相关推荐
- java使用RSA加密方式实现数据加密解密
全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用RSA加密方式实现数据加密解密,需要首先产生私钥和公钥 测试代码 public static void main(String arg ...
- java c rsa解秘_Java的RSA加密,.net如何解密
//这是Java加密的方法 string value="12345678123456781234567812345678"; string publickey="3081 ...
- java和python的SHA-1形式RSA加密方式代码互通
说明: 由于只知道n和d两个参数,找了许久才找到对应的python方法来生成pem格式密钥对以及对字符串进行SHA-1方式加密签名 一.生成密钥对 1.openssl生成PKCS#1格式 openss ...
- python后端开发框架加密_Flask框架实现的前端RSA加密与后端Python解密功能详解
本文实例讲述了Flask框架实现的前端RSA加密与后端Python解密功能.分享给大家供大家参考,具体如下: 前言 在使用 Flask 开发用户登录API的时候,我之前都是明文传输 username ...
- java使用RSA加密方式,实现数字签名
全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用RSA加密方式,实现数字签名.数字签名,使用私钥获取签名,使用公钥校验签名 测试代码 public static void main( ...
- python写网页前端交易rsa加密_Flask框架实现的前端RSA加密与后端Python解密功能详解!...
本文实例讲述了Flask框架实现的前端RSA加密与后端Python解密功能.分享给大家供大家参考,具体如下: 前言 在使用 Flask 开发用户登录API的时候,我之前都是明文传输 username ...
- java rsa签名_Java使用RSA加密解密签名及校验
由于项目要用到非对称加密解密签名校验什么的,于是参考<Java加密解密的艺术>写一个RSA进行加密解密签名及校验的Demo,代码很简单,特此分享! 一.项目截图 代码下载后,导入到ecli ...
- java rsa 验_Java使用RSA加密解密签名及校验
RSA加密解密类: package com.ihep; import java.io.BufferedReader; import java.io.BufferedWriter; import jav ...
- java rsa 解密_Java中RSA加密解密的实现方法分析
本文实例讲述了Java中RSA加密解密的实现方法.分享给大家供大家参考,具体如下: public static void main(String[] args) throws Exception { ...
最新文章
- java 连接池_初探数据库连接池
- Component Interface Tricky
- CentOS忘记密码
- 企业系统门户需要哪些模块_灵活用工平台SAAS系统有哪些功能模块
- Postman测试接口传入List类型的参数以及数组类型参数
- 我是如何带领团队开发项目的
- linux 静态库 解包,libcurl编译linux静态库及使用总结(编译成功库下载)
- 教你打通 Git 任督二脉
- 做数据中心,腾讯是认真的!
- 九章算法--寻找数组波峰
- python 使用 config 文件
- MATLAB DBSCAB简介
- 极力推荐--不错的delphi 学习网站与论坛---有待补充
- Flappy bird
- <Zhuuu_ZZ>Map接口和equals重写
- 湖北户外帐篷在野外户外需要注意的方面
- C++猜数字小游戏1.0.1版猜数字1.1---国庆特版(双人战斗版)
- 3Dmax怎么渲染AO图?云渲染AO图是什么?
- ppt6计算机考试,全国计算机考试第6章 过程.ppt
- php 扇面,扇面书法,四种章法让人赏心悦目
热门文章
- html本地载入缓存文件,Flutter中如何加载并预览本地的html文件的方法
- python开发基础戴歆第四章_第一阶段:Python开发基础 day04 课后练习
- Win11蓝屏100%不重启解决方法
- win7系统电脑d盘不见了的解决方法
- win7系统任务管理器如何强制关闭程序
- win7系统图标太大的缩小教程
- 腾讯视频下载电脑_腾讯视频如何设置允许腾讯视频驻留功能
- spring注解( @Autowired、@Qualifier、@Resource、@PostConstruct、@PreDestroy、 @Component、@Scope)-描述的比较清楚
- SpringBoot整合阿里云OSS上传文件
- HSSFworkbook,XSSFworkbook,SXSSFworkbook区别总结