java 中如何进行md5加密

Python021

java 中如何进行md5加密,第1张

JDK里面有一个java.security.MessageDigest类,这个类就是用来加密的。

加密代码如下:

String token = System.currentTimeMillis()+new Random().nextInt()+""

try {

MessageDigest md = MessageDigest.getInstance("MD5")

byte[] md5 = md.digest(token.getBytes())

} catch (Exception e) {

throw new RuntimeException(e)

}

这个byte类型的数组就是使用MD5加密后的结果

有必要的,md5就是为了防止人偷窥,而当密码很短的时候,利用暴力搜索也比较容易搜索到,只有密码强度足够的情况下才有意义,你想转换也就没那么容易了。md5类hash算法的设计初衷就是单向,即不可逆。

import java.security.MessageDigest

import java.security.NoSuchAlgorithmException

public class md5 {

public String str

public void md5s(String plainText) {

try {

MessageDigest md = MessageDigest.getInstance("MD5")

md.update(plainText.getBytes())

byte b[] = md.digest()

int i

StringBuffer buf = new StringBuffer("")

for (int offset = 0offset <b.lengthoffset++) {

i = b[offset]

if (i <0)

i += 256

if (i <16)

buf.append("0")

buf.append(Integer.toHexString(i))

}

str = buf.toString()

System.out.println("result: " + buf.toString())// 32位的加密

System.out.println("result: " + buf.toString().substring(8, 24))// 16位的加密

} catch (NoSuchAlgorithmException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

public static void main(String agrs[]) {

md5 md51 = new md5()

md51.md5s("4")//加密4

}

}