zoukankan      html  css  js  c++  java
  • md5加密

    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    
    /*
     * md5加密算法
     * */
    public class EncodeUserInfo {
       //十六进制下数字到字符的映射数组  
        private final static String[] hexDigits = {"0", "1", "2", "3", "4",  
            "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};
       
       public static String encodeByMD5(String message){
          if(message!=null){
             //创建具有指定算法名称的信息摘要
             try {
                MessageDigest md=MessageDigest.getInstance("MD5");
                //使用指定字节数组对摘要进行最后的更新,然后完成摘要计算
                byte[] results=md.digest(message.getBytes());
                //将得到的字节数组变成字符串返回
                String resultMessage=byteArrayToHexString(results);
                return resultMessage.toUpperCase();
             } catch (NoSuchAlgorithmException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
             }
          }
          return null;
       }
       //将一个字节数组转换为十六进制字符串
       private static String byteArrayToHexString(byte[] results) {
          StringBuffer resultSb=new StringBuffer();
          for(int i=0;i<results.length;i++){
             resultSb.append(byteArrayToHexString(results[i]));
          }
          return resultSb.toString();
       }
       private static Object byteArrayToHexString(byte b) {
          int n=b;
          if(n<0)
             n=256+n;
          int d1=n/16;
          int d2=n%16;
          return hexDigits[d1]+hexDigits[d2];
       }
    }
  • 相关阅读:
    封装
    面向对象的思想
    Arrays工具类
    二分查找
    选择排序
    冒泡排序
    对象数组
    二维数组
    一维数组
    循环语句注意事项
  • 原文地址:https://www.cnblogs.com/hujingwei/p/4736553.html
Copyright © 2011-2022 走看看