请问一下JAVA中的数据加是否要完全自己写呢?还是JDK中就有相关的包.请给我一点意见了.参数资料或者是经验之谈.谢谢!

解决方案 »

  1.   

    完全不用自己写哈
    基本上都有的
    有本《java安全编程》
      

  2.   

    不用自己写,
    java.security.*基本都有
    给你个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");
      }
     }
     
    }