`
javadingle2008
  • 浏览: 66198 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java操作文件加密与解密

阅读更多

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * 加密解密类
 *
 * @author shaohl
 * @version 1.00
 */

public class EncryptGen {

 // static boolean debug =false ;

 // 加密KEY不能随便改动
 static final byte[] KEYVALUE = "6^)(9-p35@%3#4S!4S0)$Y%%^&5(j.&^&o(*0)$Y%!#O@*GpG@=+@j.&6^)(0-=+"
   .getBytes();

 static final int BUFFERLEN = 512;

 public EncryptGen() {
 }

 /**
  * 对文件进行加密
  *
  * @param String
  *            oldFile 原始要加密的文件
  * @param String
  *            newFile 加密后的文件
  * @return
  */
 public static void encryptFile(String oldFile, String newFile)
   throws Exception {
  FileInputStream in = new FileInputStream(oldFile);
  File file = new File(newFile);
  if (!file.exists())
   file.createNewFile();
  FileOutputStream out = new FileOutputStream(file);
  int c, pos, keylen;
  pos = 0;
  keylen = KEYVALUE.length;
  byte buffer[] = new byte[BUFFERLEN];
  while ((c = in.read(buffer)) != -1) {
   for (int i = 0; i < c; i++) {
    buffer[i] ^= KEYVALUE[pos];
    out.write(buffer[i]);
    pos++;
    if (pos == keylen)
     pos = 0;
   }
  }
  in.close();
  out.close();
 }

 /**
  * 对文件进行解密
  *
  * @param String
  *            oldFile 原始要解密的文件
  * @param String
  *            newFile 解密后的文件
  * @return
  */
 public static void decryptFile(String oldFile, String newFile)
   throws Exception {
  FileInputStream in = new FileInputStream(oldFile);
  File file = new File(newFile);
  if (!file.exists())
   file.createNewFile();
  FileOutputStream out = new FileOutputStream(file);
  int c, pos, keylen;
  pos = 0;
  keylen = KEYVALUE.length;
  byte buffer[] = new byte[BUFFERLEN];
  while ((c = in.read(buffer)) != -1) {
   for (int i = 0; i < c; i++) {
    buffer[i] ^= KEYVALUE[pos];
    out.write(buffer[i]);
    pos++;
    if (pos == keylen)
     pos = 0;
   }
  }
  in.close();
  out.close();
 }

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  try {
   // debug =false ;

   String oldFile = new String("C:\\aaa\\aa.txt");
   String newFile = new String("C:\\aaa\\aa_en.txt");
   encryptFile(oldFile, newFile);

     System.out.println("ok");
  } catch (Exception e) {
   e.printStackTrace();
  }

 }

}

分享到:
评论
2 楼 pengyan5945 2012-02-20  
pengyan5945 写道
while ((temp = inputStream.read(buffer)) != -1) {
			for (int i = 0,index = 0; i < temp; i++,index++) {
				buffer[i] ^= encryptKey[index];
				outputStream.write(buffer[i]);
			}
		}

发现我的有问题,呵呵。现在才明白!
1 楼 pengyan5945 2012-02-20  
while ((temp = inputStream.read(buffer)) != -1) {
			for (int i = 0,index = 0; i < temp; i++,index++) {
				buffer[i] ^= encryptKey[index];
				outputStream.write(buffer[i]);
			}
		}

相关推荐

    java实现文件加密解密

    "java实现文件加密解密" Java 实现文件的加密与解密是指利用 Java 语言将资源文件(包括图片、动画等类型)进行简单的加密和解密。这种策略的原因和好处是将准备好的资源存储在云上,使用时通过网络进行读取即可,...

    Java文本文件加密与解密

    本次使用JAVA语言,采用3DES加密算法进行对文本文件的加密,通过二进制和十六进制的转换来实现,产生加密文件,再对加密文件进行解密。 关键词:DES加密算法、加密、解密。摘要 随着现代网络技术的飞速发展,人们...

    加密和解密文件

    同时,高效性指出这个工具在执行加密和解密操作时,能够在合理的时间内完成,这对于处理大文件尤其重要。 "file-encryption-master"这个压缩包文件名可能暗示这是一个关于文件加密的开源项目,可能包含了主代码库或...

    加密与解密(java课程设计)

    总的来说,这个Java课程设计旨在帮助学生掌握加密和解密的基本原理,以及如何使用Java来实现这些操作。通过实践,不仅可以提升编程技能,还能增强对信息安全的理解,为未来的项目提供安全保障。

    基于Java的文件加密与解密

    在文件加密解密中,我们通常会用到字节流,如InputStream和OutputStream,它们可以读取和写入文件。例如,FileInputStream和FileOutputStream分别用于读取和写入文件,而DataInputStream和DataOutputStream则提供了...

    文件加密与解密的java代码

    1.40以上 说明:文件加密 加密方法:三重DES加密 加密过程:对选中的文件加密后在同文件夹下生成一个增加了".tdes"扩展名的加密文件 (完美加密,更改后缀名也不可以打开)解密过程:对选中的加密文件(必须有".tdes...

    文件移位加密与解密

    从给定的文件信息来看,本文档主要涉及的是文件移位加密与解密技术的C语言实现,这是一项基础但非常实用的加密方法,尤其在早期计算机科学领域中占有重要地位。下面,我们将深入探讨这一主题,包括其背景、原理、...

    Java实现的RSA加密解密算法示例

    本文详细介绍了Java实现的RSA加密解密算法,包括密钥对生成、公钥和私钥的使用、加密和解密、密钥文件的生成等知识点。这些知识点对于Java开发者来说非常重要,可以帮助他们更好地理解和实现RSA加密解密算法。

    JAVA实现AES加密和解密

    在提供的压缩包文件"java aes加密、解密"中,应该包含了一个完整的Java项目,包含了上述所有步骤的代码示例,并且每个方法都有详细的注释,可以直接运行查看效果。这个项目无需任何额外的插件,只需要Java环境即可...

    Java 公钥和私钥加密解密代码

    在Java编程语言中,公钥和私钥加密解密是一种重要的安全技术,广泛应用于网络通信、数据传输等领域。本文将详细解析如何使用Java实现公钥和私钥的加解密操作,以及相关的关键概念和代码示例。 首先,我们要了解公钥...

    Java加密与解密的艺术.mobi

    全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非...

    JAVA 使用数字证书加密解密文件

    总结来说,Java结合RSA算法和数字证书提供了强大的文件加密解密解决方案。通过生成密钥对、创建和管理数字证书,以及使用`Cipher`进行加解密操作,可以确保数据的安全传输和存储。了解并掌握这些技术,对于开发安全...

    java使用AES加密/解密文件

    解密文件的过程与加密类似,只是需要使用`Cipher`的`DECRYPT_MODE`。以下是解密文件的代码: ```java public void decryptFile(File inputFile, File outputFile, Key key) throws Exception { Cipher cipher = ...

    JAVA数据加密解密的实例

    "com"目录下的子目录结构可能对应着Java的包名,包含了实现加密解密功能的类文件。而"resource"目录可能包含了配置文件、密钥文件或其他辅助资源,这些在加密解密过程中可能被用到。 总的来说,这个实例为我们展示...

    java文件加密和解密

    在实际开发中,可以利用Java提供的API和第三方库来构建文件加密工具,简化加密解密流程,例如Apache Commons Codec库中的Base64编码,便于在程序中处理二进制数据。 总结,Java文件加密和解密涉及多种加密算法、...

    java做的文件加密及解密软件

    源代码可能使用了Java的IO和加密库,如`java.io`和`javax.crypto`,来处理文件读写和加密解密操作。GUI部分可能使用了Swing或JavaFX的组件来构建用户交互界面,并结合事件监听来处理用户的加密和解密请求。 总的来...

    课程设计java文本加密解密

    Java文本加密解密是计算机编程领域中的一个重要主题,特别是在数据安全和信息安全方面。在这个课程设计中,我们将使用Java语言来实现一个简单的文本加解密系统,该系统具有图形用户界面(GUI),使得用户能够方便地...

    Java加密与解密的艺术.rar 完整源代码

    通过学习这份"Java加密与解密的艺术"的源代码,你可以深入理解加密过程的实现细节,包括密钥的生成、加密解密流程、异常处理以及如何与其他Java安全组件集成。同时,你可以看到实际项目中如何使用这些概念,从而提升...

    排列码java实现,密码加密解密

    使用`FileInputStream`和`FileOutputStream`进行文件读写,以及使用`Cipher`类(属于Java Cryptography Architecture的一部分)进行更高级的加密操作,如AES、DES等。 在压缩包中的`Arrange`文件可能是实现上述功能...

    java 基于AES实现对文件的加密 解密

    在实现AES加密解密时,要特别注意错误处理和数据完整性检查。例如,确保文件读取和写入的正确性,以及在解密过程中处理可能的异常。此外,www.willvc.com.cn 提供的资源可能是进一步学习和解决问题的途径。 总之,...

Global site tag (gtag.js) - Google Analytics