MD5加密

MD5加密:java.security.MessageDigest类中的digest()方法

MessageDigest类是一个抽象类,可以通过getInstance()方法获取实例


public byte[] digest(byte[] input)

使用指定的 byte 数组对摘要进行最后更新,然后完成摘要计算。也就是说,此方法首先调用 update(input),向 update 方法传递 input 数组,然后调用 digest()

参数:

input - 在完成摘要计算前要更新的输入。

返回:

存放哈希值结果的 byte 数组。


getInstance(String algorithm)
返回实现指定摘要算法的 MessageDigest 对象。

参数: algorithm - 所请求算法的名称。

getInstance(String algorithm, Provider provider)
返回实现指定摘要算法的 MessageDigest 对象。

参数: algorithm - 所请求算法的名称。 provider - 提供者。

@Test
	public void demo() throws Exception{
		MessageDigest md=MessageDigest.getInstance("MD5");
		byte[] a="1234567".getBytes();
		byte[] bs=md.digest(a);
		
		String pwd="";
		for(byte b:bs){
//			Integer.toHexString(int i);	因为这里是扩展转换,把byte通过扩展转换为int类型
			String s=Integer.toHexString(b & 0xff);	//取该字节的最后一位(与16进制ff进行&运算)---因为一个字节是8位2进制
			if(s.length()==1){
				s="0"+s;
			}
			pwd+=s;
		}
		System.out.println(pwd.length());
		System.out.println(pwd);
	}
运行结果:

32
fcea920f7412b5da7be0cf42b8c93759

你可能感兴趣的:(md5,MessageDigest)