public void test() throws NoSuchAlgorithmException { String str = "123456"; byte[] buf = str.getBytes(); MessageDigest md5 = MessageDigest.getInstance("MD5"); md5.update(buf); byte[] tmp = md5.digest(); StringBuilder sb = new StringBuilder(); for (byte b : tmp) { if (b >= 0 && b < 16) sb.append("0"); sb.append(Integer.toHexString(b & 0xff)); System.out.println("md5 length:" + tmp.length + " result length:" + sb.toString().length()); System.out.println(sb);

结果如下:

e10adc3949ba59abbe56e057f20f883e
Process finished with exit code 0

linux命令,如下:

 echo -n 123456|md5sum
e10adc3949ba59abbe56e057f20f883e  -

echo命令的-n选项代表不换行

整理后,方法如下:

public String getMD5(String need2Encode) throws NoSuchAlgorithmException {
        byte[] buf = need2Encode.getBytes();
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        md5.update(buf);
        byte[] tmp = md5.digest();
        StringBuilder sb = new StringBuilder();
        for (byte b : tmp) {
            if (b >= 0 && b < 16)
                sb.append("0");
            sb.append(Integer.toHexString(b & 0xff));
        return sb.toString();

参考博客:Java生成md5java 32位md5加密类

方法很简单,直接贴junit测试代码:@Test public void test() throws NoSuchAlgorithmException { String str = &quot;123456&quot;; byte[] buf = str.getBytes(); MessageDigest md5 = MessageDigest.getInstan
因为毕业设计的缘故,研究了一下网站的加密,做了一个MD5加密,也算是一个小小的加密、但是在Web程序上不论是在客户端还是服务端加密理论上都是不安全的,我们要使用HTTPS这个协议来保证通信的全加密再加上MD5加密才比较安全、MD5是一个不可逆的加密算法、所以一般来说只要加密就好、不需要解密程序.数据库中存入的也是加密过得密码就行了、下面直接上代码 public class Encryptio
import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; //MD5 生成器 public class MD5Utils { public static
public class MD5 { public static void main(String[] args) { String md5 = getMD5("210534"); System.out.println(md5); System.out.println(md5.length()); String encry...
MD5即Message-Digest Algorithm 5(信息-摘要算法5),是一种用于产生数字签名的单项散列算法。 MD5算法的作用是让大容量信息在用数字签名软件签私人密匙前被”压缩”成一种保密的格式,将一个任意长度的“字节串”通过一个不可逆的字符串变换算法变换成一个128bit的大整数. 即使你看到源程序和算法描述,也无法将一个MD5的值变换回 我现在有几个公开的接口需要开放给第三方厂商,第三方厂商通过调用我的接口获取数据,由于这些接口放开了登录的拦截,而且是直接暴露在公网上的,因此想给这几个接口加上权限的验证,即加签验签。 2、技术选型 通过某歌和某度查找资料,以及向一些博主、论坛、微信群、QQ群请教…发现...
Java MD5生成摘要 在实际情况中,有时候明文不适合直接存储,比如登录密码,如果直接使用明文来存储到数据库中,就会很容易地被发现,这时就要用Hash算法将明文产生消息摘要,将摘要存储到数据库中。验证密码时,将输入的密码用同样的方法产生摘要与数据库中的进行对比即可完成验证。 以下是在Java使用MD5生成摘要的方法: import java.security.MessageDigest; im...