备份一个小程序。利用MD5加密文件,生成一个密文的源程序。非常好用。
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.io.*;
public class EncryptUtil
{
/**
*
* @param filePath The full path of the file
* @return
* @throws Exception
*/
public static String encrypt(String filePath) throws Exception
{
String inStr = getString(filePath);
MessageDigest md = null;
String out = null;
try
{
md = MessageDigest.getInstance("MD5");
byte[] digest = md.digest(inStr.getBytes());
out = byte2hex(digest);
}
catch (NoSuchAlgorithmException e)
{
e.printStackTrace();
throw e;
}
return out;
}
private static String byte2hex(byte[] b)
{
String hs = "";
String stmp = "";
for (int n = 0; n < b.length; n++)
{
stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));
if (stmp.length() == 1)
{
hs = hs + "0" + stmp;
}
else
{
hs = hs + stmp;
}
}
return hs.toUpperCase();
}
private static String getString(String filePath) throws Exception
{
StringBuffer sbuf = new StringBuffer();
try
{
FileReader fr = new FileReader(filePath);
BufferedReader br = new BufferedReader(fr);
String Line = br.readLine();
while (Line != null)
{
sbuf.append(Line);
sbuf.append("\r\n");
Line = br.readLine();
}
br.close();
fr.close();
}
catch (Exception e)
{
e.printStackTrace();
throw e;
}
//System.out.println(sbuf.toString());
return sbuf.toString().trim();
}
public static void main(String[] args) throws Exception
{
if(args.length > 0)
{
String result = null;
try
{
result = encrypt(args[0]);
}
catch (Exception e)
{
e.printStackTrace();
}
System.out.println(args[0] + " : " + result);
//System.out.println(args[1] + " : " + encrypt(args[1]));
}
else
{
System.out.println("the file does not exist");
}
}
}