84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
1、为什么这里getInstance()会报错,我用的jdk1.8 难道是版本调整了,但是也应该有提示啊?2、解释一下 Integer.toHexString((0x000000ff & s[i]) | 0xffffff00).substring(6) 的用法?
欢迎选择我的课程,让我们一起见证您的进步~~
你的代码是啥,报的啥错误?下面这段代码好好的
import java.security.*; public class Test { public static void main(String[] args) throws Exception { MessageDigest md5 = MessageDigest.getInstance("md5"); System.out.println(md5); } }
MessageDigest.getInstance() 是静态方法,这个 @tl6h13 已经说了
0x00ff & s[i] 是取 s[i] 的低 8 位,之后再与 0xffffff00 相或,结果是前面 6 个 f(24位都是1),后面 8 位是 s[i] 的低 8 位。转换成 Hex 之后一共是 8 个字符,substring(6) 是从第6个开始取,也就是取到后面2位,也就是 s[i] 低 8 位的十六进制——好绕。
0x00ff & s[i]
0xffffff00
substring(6)
能不能介绍一些segmentfault上的java大神认识一下?谢谢!
你的代码是啥,报的啥错误?下面这段代码好好的
MessageDigest.getInstance() 是静态方法,这个 @tl6h13 已经说了
0x00ff & s[i]
是取 s[i] 的低 8 位,之后再与0xffffff00
相或,结果是前面 6 个 f(24位都是1),后面 8 位是 s[i] 的低 8 位。转换成 Hex 之后一共是 8 个字符,substring(6)
是从第6个开始取,也就是取到后面2位,也就是 s[i] 低 8 位的十六进制——好绕。能不能介绍一些segmentfault上的java大神认识一下?谢谢!