上网研究了一下RSA加密解密和作为数字签名的用法,整理了一下,写了一个类,总结了用法。用到了commons-codec-1.6.jar的Base64类package tj.rsa_pkcs;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
1.加密算法概述可逆加密和非可逆加密。对称加密和非对称加密。 所谓对称加密即是指在加密和解密时使用的是同一个密钥:举个简单的例子,对一个字符串C做简单的加密处理,对于每个字符都和A做异或,形成密文S。解密的时候再用密文S和密钥A做异或,还原为原来的字符串C。这种加密方式有一个很大的缺点就是不安全,因为一旦加密用的密钥泄露了之后,就可以用这个密钥破解其他所有的密文。 非对称加密在加密和解密过程中
转载
2023-11-28 08:30:25
3阅读
主要参考: http://www.blogjava.net/icewee/archive/2012/05/19/378570.htmlhttp://snowolf.iteye.com/基于以上代码汇总而成:实现效果1生成公钥\私钥. 保存在内存/文件中.2从文件或者内存中读取公钥私钥.加密.3加密后传输过程中,使用hex加密.------------------------------------
转载
2023-07-15 22:52:48
82阅读
场景:当未启用HTTPS时,用户的登录密码,以及当用户修改密码时,密码在网络中需要加密传输。一、交互逻辑 上图中,前端部分运行在浏览器上,所以需要用JavaScript来加密需要传输的密码,后端部分使用Java来实现。二、前端部分 前端部分的加密,选择jsencrypt来实现,代码如下://用户修改密码样例
$("#ModifyPasswordBtn").bind("click",fu
转载
2024-01-11 06:37:53
60阅读
1.RSA加密算法简介
RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
在
公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。 加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却
转载
2023-11-15 19:49:58
7阅读
# Android RSA加密
## 什么是RSA加密
RSA加密算法(Rivest-Shamir-Adleman)是一种非对称加密算法,它是由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出的。RSA加密算法使用两个密钥,一个是公钥(public key),用于加密数据,另一个是私钥(private key),用于解密数据。公钥可以被任何人获得,但是
原创
2023-07-21 07:29:46
83阅读
RSA/SHA1加密和数字签名算法在开放平台中的应用加密算法加密算法分为两大类:1.对称加密算法;2.非对称加密算法。密钥个数加密解密对称加密一个使用密钥加密使用同一个密钥解密非对称加密两个,公钥和私钥使用其中一把密钥加密使用另外一把密钥解密RSA非对称加密算法RSA是目前应用最广泛的非对称加密算法,各种语言都支持RSA算法,如Java,Python,C++(openssl),Go(openssl
转载
2024-01-02 10:53:10
124阅读
一、RSA加密算法的介绍 RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 RSA是可逆的,一个字符串可以经rsa加密后,经加密后的字符串传到对端如服务器上,再进行解密即可。前提是服务器知道解密的私钥,当然这个私钥最好不要再网络传输。 RSA的算法涉及三个参数,n、e1、e2。 其中,n是两个大质数p、q的积,n的二进制表示时所
转载
2023-08-31 16:54:09
306阅读
我的项目是金融类项目,所以一般的form表单做登录页面未免太草率,所以决定使用加密技术RSA,RSA是目前使用最为广泛的非对称性加密算法,其设计思路为:将两个大素数进行相乘,乘积作为公钥,而对乘积进行因式分解的素数组合成私钥,解密者拥有私钥,并且将由私钥计算生成的公钥发布给加密者。加密都使用公钥进行加密,并将密文发送到解密者,解密者用私钥解密将密文解码为明文。算法实现过程为: 
转载
2023-12-28 16:20:31
90阅读
RSA加密算法代码实现作业目标C语言实现RSA加密算法,并将其优化到尽量快的速度。算法描述RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名,这个算法经受住了多年深入的密码分析,但是它的安全性
转载
2024-02-27 12:52:03
46阅读
概述:RSA是第一个既能用于数据加密也能用于数字签名的算法。使用共钥加密,私钥解密,私钥签名,共钥验证签名。RSA加密原理:1.随机选择两个大质数p和q,p不等于q,计算N=pq; 2.选择一个大于1小于N的自然数e,e必须与(p-1)(q-1)互素。 3.用公式计算出d:d×e = 1 (mod (p-1)(q-1)) 。4.销毁p和q。最终得到的N和e就是“公钥”,d就是“
转载
2023-11-18 19:29:40
73阅读
前言: 项目中除了登陆,支付等接口采用rsa非对称加密,之外的采用aes对称加密,今天我们来认识一下aes加密。 其他几种加密方式:Android数据加密之Rsa加密Android数据加密之Aes加密Android数据加密之Des加密Android数据加密之MD5加密Android数据加密之Base64编码算法Android数据加密之
转载
2023-06-16 20:11:25
0阅读
RSA是最流行的公开密钥算法,既能用于加密,也能用于数字签名,属于非对称加密鼻祖。RSA算法原理如下: 1.随机选择两个大质数p和q,p不等于q,计算N=pq; 2.选择一个大于1小于N的自然数e,e必须与(p-1)(q-1)互素。 3.用公式计算出d:d×e = 1 (mod (p-1)(q-1)) 。 4.销毁p和q。由于进行的都是大数计算,使得RSA最快的情况也比DE
转载
2023-05-29 16:30:00
124阅读
RSA算法的优点和原理 关于RSA的两篇很好的文章: http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html 在1976年以前,
RSA:RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。世界
转载
2023-07-18 21:47:30
46阅读
RSA完整加密流程总结1.1-RSA加密介绍1.RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年7月首次在美国公布,当时他们三人都在麻省理工学院工作实习。RSA就是他们三人姓氏开头字母拼在一起组成的。2.RSA是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前
转载
2023-10-20 17:14:49
49阅读
RSA 加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。公钥和私钥都在数学上相关联;用RSA加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以提供给任何人;公钥用于对要发送到私钥持有者的数据进行加密。两个密钥对于通信会话都是唯一的。RSA 加密算法也称为不对称算法,原因是需要用一个密钥加密数据而需要用另一个密钥来解密数据。 RSA 加密算法使用固定的缓冲
转载
2023-06-26 18:43:40
174阅读
一、前端js 1、前端js 先引入 jsencrypt.js <script src="${pageContext.request.contextPath}/static/scripts/jquery/dist/jsen
转载
2023-08-16 18:31:04
128阅读
需求&实现思路工作中遇到一个需求,需要将接口数据加密发送给后台,项目中采用RSA+AES方式,记录一下思路和实现。一、加密 1、随机生成AES 32位密钥 2、通过AES对传递数据加密 3、通过RSA的公钥Publickey对AES的密钥进行加密 4、通过RSA的私钥Privatekey对数据进行签名二、解密 1、得到数据拿到sign值,先做验签 2、使用RSA的私钥private_key
转载
2023-08-17 13:01:36
32阅读
# Java的RSA加密默认是什么模式
在Java中,RSA加密默认使用的是PKCS#1 v1.5填充模式。这种填充模式会在明文的前面填充一些特定的字节,以确保数据的安全性和完整性。虽然PKCS#1 v1.5填充模式是一种较为常见的填充方式,但它也存在一些安全性问题,比如可能存在一些攻击方式,如RSA签名伪造攻击。
下面我们通过代码示例来演示Java中RSA加密的使用过程:
## RSA加密
原创
2024-06-03 05:10:28
314阅读