passwordutil.java

来自「采用JAVA开发」· Java 代码 · 共 50 行

JAVA
50
字号
package com.gctech.sms.util;

/**
 * <p>Title: GCCI</p>
 * <p>Description: GCTech OSS Card Inventory</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: GCTech</p>
 * @author xujin
 * @version 1.0
 */
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class PasswordUtil {
    private final static String ENCODING = "US-ASCII";
    private final static String ALGORITHM = "MD5";

    /**
     * convert String to Digest String
     * @param password
     * @return String
     * @throws NoSuchAlgorithmException
     * @throws java.io.UnsupportedEncodingException
     */
    public static String getDigestString(String password)
            throws NoSuchAlgorithmException,java.io.UnsupportedEncodingException {
        String ret = null;
        MessageDigest md = MessageDigest.getInstance(ALGORITHM);
        byte[] digest = md.digest(password.getBytes(ENCODING));
        ret = stringify(digest);
        return ret;
    }

    /**
     * convert byte array to hex string
     * @param buf
     * @return String
     */
    private static String stringify (byte buf[]) {
          StringBuffer sb = new StringBuffer(2*buf.length) ;
          for (int i = 0 ; i < buf.length; i++) {
              int h = (buf[i] & 0xf0) >> 4 ;
              int l = (buf[i] & 0x0f) ;
              sb.append (new Character((char)((h>9) ? 'a'+h-10 : '0'+h))) ;
              sb.append (new Character((char)((l>9) ? 'a'+l-10 : '0'+l))) ;
          }
          return sb.toString() ;
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?