当前位置: 代码迷 >> Java Web开发 >> 各位求帮助
  详细解决方案

各位求帮助

热度:92   发布时间:2016-04-17 11:01:54.0
各位大虾求帮助
能不能给个MD5的加密算法
顺便解释下,小弟新手

------解决方案--------------------
首先需要说明的是,MD5是做散列的(数据摘要算法),用于检验原始信息是否被修改,不是“加密”。

另外,MD5是Java直接支持的:

Java code
    private String getMD5Str(String str) {          MessageDigest messageDigest = null;           try {              messageDigest = MessageDigest.getInstance("MD5"); // 获取签名器                messageDigest.reset();                messageDigest.update(str.getBytes("UTF-8"));          } catch (NoSuchAlgorithmException e) {              System.out.println("NoSuchAlgorithmException caught!");              System.exit(-1);          } catch (UnsupportedEncodingException e) {              e.printStackTrace();          }            byte[] byteArray = messageDigest.digest();            StringBuffer md5StrBuff = new StringBuffer();           for (int i = 0; i < byteArray.length; i++) {                          if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)                  md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));              else                  md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));          }            return md5StrBuff.toString();      }
  相关解决方案