RSA Encrypt and Decrypt

Java非对称加密RSA工具类v1.1

末鹿安然 提交于 2019-12-06 19:04:18
依旧是练习的产物,java的加密算法有很多,可惜用起来很痛苦(个人感受),有时间的话打算做个简化过程的所有加密算法工具类,之前已经写过一个包含 MD5、SHA1、DES、AES、异或的简单工具类 这里简单讲一下RSA: 我们平时所知道的密码什么的都基本是一个,DES、AES的加密解密也都是用同一个密码,但是RSA就不一样了, RSA有2个密码:公钥、私钥 。 为什么要用2个密码?要怎么用? 用2个密码自然是为了数据的安全,防止丢失数据后被人恶意破解。 至于怎么用,其实就是 用公钥加密后只能用私钥解密,私钥加密后只能用公钥解密 。 就以支付宝的集成为例,你得在本地生成公钥跟私钥,然后上传给支付宝,之后传输数据的时候就是用这对密码来加解密的。(当然,加解密的步骤支付宝已经帮你做了,你是不用去写RSA的代码的) 题外话:其实我一直觉得支付宝这个生成公钥私钥可以在支付宝平台做的,每次都要我在本地生成,然后还要去传给支付宝平台,真的有一点点、一点点的烦。。。 --- v1.1 加入分段处理 package com.lwx.encrypt; import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator;