您的位置:首页 > 编程语言 > Java开发

【Java】String经MD5加密后的32位输出

2017-08-25 16:19 459 查看
Hankerrank的一道题,说实话我真不知道MD5的详细算法,包括字节转化为32位输出,在网上看到了好几个版本。我这里只写了一种,勉强可以理解。

import java.io.*;
import java.security.*;

public class Solution {

public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
String s = new Scanner(System.in).next();
MessageDigest md = null;
byte[] buff;
String st;
StringBuffer sb= new StringBuffer();
try{
md = MessageDigest.getInstance("MD5");
md.update(s.getBytes());
buff = md.digest();
int digital;
for(int i=0;i<buff.length;i++){
digital = buff[i];
if(digital<0)digital+=256;
if(digital<16)sb.append("0");
sb.append(Integer.toHexString(digital));
}
}catch(Exception e){}

System.out.println(sb.toString());
}
}
参考自:http://www.weixuehao.com/archives/474
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java md5 32位