公钥密码算法的实现二
1、实验要求
(1)总结RSA原理;
(2)利用现有开发工具实现RSA的求解,并对常见信息进行加解密。把明文文件a.txt中的信息加密,把密文存在b.txt中,解密信息存在c.txt中,利用函数比对明文和解密出的明文是否相同;
2、实现方法
在Eclipse中编程实现上述内容。
3、实验过程及结果
(1)总结RSA原理;
(2)利用现有开发工具实现RSA的求解,并对常见信息进行加解密。
public class MyRSA {
public static final String KEY_ALGORITHM = "RSA";
/** 貌似默认是RSA/NONE/PKCS1Padding,未验证 */
public static final String CIPHER_ALGORITHM = "RSA/ECB/PKCS1Padding";
public static final String PUBLIC_KEY = "publicKey";
public static final String PRIVATE_KEY = "privateKey";
/** RSA密钥长度必须是64的倍数,在512~65536之间。默认是1024 */
public static final int KEY_SIZE = 2048;
public static void main(String[] args)throws Exception {
try (BufferedReader ar = new BufferedReader(new FileReader("E:\\eclipse\\a.txt"))) {
BufferedWriter bw = new BufferedWriter(new FileWriter("E:\\eclipse\\b.txt"));
BufferedWriter cw = new BufferedWriter(new FileWriter("E:\\eclipse\\c.txt"));
Map<String, byte[]> keyMap = generateKeyBytes(