网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Java实现文件的加密解密功能示例

本文实例讲述了Java实现文件的加密解密功能分享给大家供大家参考,具体如下:

创新互联公司是一家集网站建设,贵南企业网站建设,贵南品牌网站建设,网站定制,贵南网站建设报价,网络营销,网络优化,贵南网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

package com.copy.encrypt;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.RandomAccessFile;
public class FileEncryptAndDecrypt {
  /**
   * 文件file进行加密
   * @param fileUrl 文件路径
   * @param key 密码
   * @throws Exception
   */
  public static void encrypt(String fileUrl, String key) throws Exception {
    File file = new File(fileUrl);
    String path = file.getPath();
    if(!file.exists()){
      return;
    }
    int index = path.lastIndexOf("\\");
    String destFile = path.substring(0, index)+"\\"+"abc";
    File dest = new File(destFile);
    InputStream in = new FileInputStream(fileUrl);
    OutputStream out = new FileOutputStream(destFile);
    byte[] buffer = new byte[1024];
    int r;
    byte[] buffer2=new byte[1024];
    while (( r= in.read(buffer)) > 0) {
        for(int i=0;i>10);
      int count = mod==0?div:(div+1);
      int k = 1, r;
      while ((k <= count && ( r = is.read(buffer)) > 0)) {
        if(mod != 0 && k==count) {
          r = mod;
        }
        for(int i = 0;i < r;i++)
        {
          byte b=buffer[i];
          buffer2[i]=b==0?bMax:--b;
        }
        out.write(buffer2, 0, r);
        k++;
      }
      out.close();
      is.close();
      return tempUrl;
    }
   /**
   * 判断文件是否加密
   * @param fileName
   * @return
   */
   public static String readFileLastByte(String fileName, int keyLength) {
     File file = new File(fileName);
     if(!file.exists())return null;
     StringBuffer str = new StringBuffer();
      try {
        // 打开一个随机访问文件流,按读写方式
        RandomAccessFile randomFile = new RandomAccessFile(fileName, "r");
        // 文件长度,字节数
        long fileLength = randomFile.length();
        //将写文件指针移到文件尾。
        for(int i = keyLength ; i>=1 ; i--){
          randomFile.seek(fileLength-i);
          str.append((char)randomFile.read());
        }
        randomFile.close();
        return str.toString();
      } catch (IOException e) {
        e.printStackTrace();
      }
      return null;
     }
}

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

文字在线加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在线加密工具:
http://tools.jb51.net/password/CreateMD5Password

在线散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多关于java相关内容感兴趣的读者可查看本站专题:《Java数学运算技巧总结》、《Java数据结构与算法教程》、《Java字符与字符串操作技巧总结》、《java日期与时间操作技巧汇总》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


标题名称:Java实现文件的加密解密功能示例
文章分享:http://bjjierui.cn/article/peeeoj.html

其他资讯