Mega Code Archive

 
Categories / Java / Security
 

Message Digest Util

/*  * Copyright 2005-2010 the original author or authors.  * Licensed under the Apache License, Version 2.0 (the "License");  * you may not use this file except in compliance with the License.  * You may obtain a copy of the License at  *  *      http://www.apache.org/licenses/LICENSE-2.0  *  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */ //package sdloader.util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /**  * ????????????Util  *   * @author shot  * @author c9katayama  */ public class MessageDigestUtil {   protected static String ALGORHTYM = "MD5";   /**    * ??????????????????????????    *     * @param planeText    * @return    */   public static String digest(String planeText) {     MessageDigest digest = createMessageDigest();     byte[] b = planeText.getBytes();     String hex = toHexString(digest.digest(b));     return hex;   }   /**    * byte[]?16??????????    *     * @param buf    * @return    */   public static String toHexString(byte[] buf) {     String digestText = "";     for (int i = 0; i < buf.length; i++) {       int n = buf[i] & 0xff;       if (n < 16) {         digestText += "0";       }       digestText += Integer.toHexString(n).toUpperCase();     }     return digestText;   }   /**    * MessageDisgest???????    *     * @return    */   public static MessageDigest createMessageDigest() {     try {       return MessageDigest.getInstance(ALGORHTYM);     } catch (NoSuchAlgorithmException e) {       throw new ExceptionInInitializerError();     }   }   public static void setAlgorithm(String algorithm) {     ALGORHTYM = algorithm;   }   public static void resetAlgorithm() {     ALGORHTYM = "MD5";   } }