首页 / JAVA / java 文件加密解密
java 文件加密解密
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java 文件加密解密,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3310字,纯文字阅读大概需要5分钟。
内容图文
1 package com.test; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.InputStream; 7 import java.io.OutputStream; 8 import java.security.KeyPair; 9 import java.security.KeyPairGenerator; 10 import java.security.NoSuchAlgorithmException; 11 import java.security.interfaces.RSAPrivateKey; 12 import java.security.interfaces.RSAPublicKey; 13 import javax.crypto.Cipher; 14 15 public class RSAEncrypt { 16 17 static KeyPairGenerator keyPairGen; 18 19 static KeyPair keyPair; 20 21 static RSAPrivateKey privateKey; 22 23 static RSAPublicKey publicKey; 24 25 static { 26 try { 27 keyPairGen = KeyPairGenerator.getInstance("RSA"); 28 keyPairGen.initialize(512); 29 keyPair = keyPairGen.generateKeyPair(); 30// Generate keys 31 privateKey = (RSAPrivateKey) keyPair.getPrivate(); 32 publicKey = (RSAPublicKey) keyPair.getPublic(); 33 } catch (NoSuchAlgorithmException e) { 34// TODO Auto-generated catch block 35 e.printStackTrace(); 36 } 37 } 38 39publicstaticvoid main(String[] args) { 40 RSAEncrypt encrypt = new RSAEncrypt(); 41 File file = new File("C:\\Users\\张洋\\Desktop\\logo1.png"); 42 File newFile = new File("C:\\Users\\张洋\\Desktop\\logo已加密"); 43 encrypt.encryptFile(encrypt, file, newFile); 44 File file1 = new File("C:\\Users\\张洋\\Desktop\\logo已加密"); 45 File newFile1 = new File("C:\\Users\\张洋\\Desktop\\logo已解密.png"); 46 encrypt.decryptFile(encrypt, file1, newFile1); 47 } 48 49publicvoid encryptFile(RSAEncrypt encrypt, File file, File newFile) { 50try { 51 InputStream is = new FileInputStream(file); 52 OutputStream os = new FileOutputStream(newFile); 53 54byte[] bytes = newbyte[53]; 55while (is.read(bytes) > 0) { 56byte[] e = encrypt.encrypt(RSAEncrypt.publicKey, bytes); 57 bytes = newbyte[53]; 58 os.write(e, 0, e.length); 59 } 60 os.close(); 61 is.close(); 62 System.out.println("write success"); 63 } catch (Exception e) { 64 e.printStackTrace(); 65 } 66 } 67 68publicvoid decryptFile(RSAEncrypt encrypt, File file, File newFile) { 69try { 70 InputStream is = new FileInputStream(file); 71 OutputStream os = new FileOutputStream(newFile); 72byte[] bytes1 = newbyte[64]; 73while (is.read(bytes1) > 0) { 74byte[] de = encrypt.decrypt(RSAEncrypt.privateKey, bytes1); 75 bytes1 = newbyte[64]; 76 os.write(de, 0, de.length); 77 } 78 os.close(); 79 is.close(); 80 System.out.println("write success"); 81 82 } catch (Exception e) { 83 e.printStackTrace(); 84 } 85 } 86 87/***/ 88/** 89 * * Encrypt String. * 90 * 91 * @return byte[] 92*/ 93protectedbyte[] encrypt(RSAPublicKey publicKey, byte[] obj) { 94if (publicKey != null) { 95try { 96 Cipher cipher = Cipher.getInstance("RSA"); 97 cipher.init(Cipher.ENCRYPT_MODE, publicKey); 98return cipher.doFinal(obj); 99 } catch (Exception e) { 100 e.printStackTrace(); 101 } 102 } 103returnnull; 104 } 105106/***/107/**108 * * Basic decrypt method * 109 * 110 * @return byte[] 111*/112protectedbyte[] decrypt(RSAPrivateKey privateKey, byte[] obj) { 113if (privateKey != null) { 114try { 115 Cipher cipher = Cipher.getInstance("RSA"); 116 cipher.init(Cipher.DECRYPT_MODE, privateKey); 117return cipher.doFinal(obj); 118 } catch (Exception e) { 119 e.printStackTrace(); 120 } 121 } 122returnnull; 123 } 124 }
原文:http://www.cnblogs.com/akzy/p/3698836.html
内容总结
以上是互联网集市为您收集整理的java 文件加密解密全部内容,希望文章能够帮你解决java 文件加密解密所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。