zoukankan      html  css  js  c++  java
  • Java 对密码MD5

    MD5,即"Message-Digest Algorithm 5(信息-摘要算法)";

    MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法;

     1 import java.math.BigInteger;
     2 import java.security.MessageDigest;
     3 import java.security.NoSuchAlgorithmException;
     4 
     5 public class Utility {
     6     static MessageDigest messageDigest;
     7     static String pwd;
     8     public static String getMD5(String plainText) {
     9         try {
    10             //生成一个MD5加密计算摘要 
    11             messageDigest = MessageDigest.getInstance("MD5");
    12             //用明文跟新消息摘要 
    13             messageDigest.update(plainText.getBytes());
    14             //digest()最后确定返回md5 hash值,返回值为8位字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符 
    15             //BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 ,其中1代表正数,0代表0,-1代表负数
    16             pwd = new BigInteger(1, messageDigest.digest()).toString(16);
    17         
    18         } catch (NoSuchAlgorithmException e) {
    19             e.printStackTrace();
    20         }
    21         return pwd;
    22     }
    23 }

    测试123456 的MD5 为 E10ADC3949BA59ABBE56E057F20F883E

  • 相关阅读:
    Ubuntu下录音机程序的使用
    Bash中的数学计算
    Bash中的数学扩展
    Bash的命令替换
    top的用法
    VirtualBox的快照功能
    格式化输出和printf命令
    read命令读取用户输入
    Bash的作业控制
    Codeforces Round #455 (Div. 2)
  • 原文地址:https://www.cnblogs.com/QQ931697811/p/5283937.html
Copyright © 2011-2022 走看看