首页 > java.sercurity MessageDigest.getInstance("MD5")报错!

java.sercurity MessageDigest.getInstance("MD5")报错!

1、为什么这里getInstance()会报错,我用的jdk1.8 难道是版本调整了,但是也应该有提示啊?
2、解释一下 Integer.toHexString((0x000000ff & s[i]) | 0xffffff00).substring(6) 的用法?


能不能介绍一些上的java大神认识一下?谢谢!


你的代码是啥,报的啥错误?下面这段代码好好的

import java.security.*;

public class Test {
    public static void main(String[] args) throws Exception {
        MessageDigest md5 = MessageDigest.getInstance("md5");
        System.out.println(md5);
    }
}
  1. MessageDigest.getInstance() 是静态方法,这个 @tl6h13 已经说了

  2. 0x00ff & s[i] 是取 s[i] 的低 8 位,之后再与 0xffffff00 相或,结果是前面 6 个 f(24位都是1),后面 8 位是 s[i] 的低 8 位。转换成 Hex 之后一共是 8 个字符,substring(6) 是从第6个开始取,也就是取到后面2位,也就是 s[i] 低 8 位的十六进制——好绕。

【热门文章】
【热门文章】