您的位置:首页 > 编程语言 > Java开发

java加密解密(简单的小例子)

2012-11-06 10:23 435 查看
package com.cn;

import java.io.BufferedOutputStream;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.OutputStream;

import java.io.PrintWriter;

import java.security.MessageDigest;

//简单的小例子

public class EncryptionDeciphering {

 public EncryptionDeciphering(){

  

 }

 /*

  * 读取文件

  */

 public String getFile(){

  File file = null;

  BufferedReader reader = null;

  StringBuilder builder = null;

  try{

   builder = new StringBuilder(32);

   file = new File("D:/test.txt");

   reader = new BufferedReader(new FileReader(file));

   String temp = "";

   while((temp = reader.readLine())!= null){

    builder.append(temp);

   }

  }catch(Exception e){

   e.printStackTrace();

  }finally{

   try{

    reader.close();

   }catch(Exception e){

    e.printStackTrace();

   }

  }

  return builder.toString();

 }

 

 /**

  * 写入文件

  */

 public void writeFile(String str){

  PrintWriter  print =null;

  File file = null;

  try{

   file = new File("D:/test.txt");

   print = new PrintWriter(file);

   print.write(str);

   print.flush();

  }catch(Exception e){

   e.printStackTrace();

  }finally{

   print.close();

  }

 }

 

 /*

  * @param:加密字符串、加密算法

  */

 public String getEncString(String encryptStr,String algorithm){

  StringBuilder builder = null;

  try{

   MessageDigest md = MessageDigest.getInstance(algorithm);//提供信息摘要算法功能

   builder = new StringBuilder(32);

   md.update(encryptStr.getBytes());

   byte[] b = md.digest();

   for(int i = 0; i< b.length; i++){

     String temp = Integer.toHexString(b[i] & 0xff); //转换成16进制

     if (temp.length() < 2){

      builder.append("0");// 不足两位,补0

     }

     builder.append(temp);

   }

  }catch(Exception e){

   e.printStackTrace();

  }

  return builder.toString();

 }

 

 

 public static void main(String [] args){

  EncryptionDeciphering q = new EncryptionDeciphering();

  

  String date = q.getFile();//读取文件

  

  String str = q.getEncString(date, "MD5");//进行加密操作

  System.out.println("加密后的数据1==========:" + str);

  

  q.writeFile(str);//将加密后的数据写入文件

  

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JAVA 加密 解密