您的位置:

javamd5的简单介绍

本文目录一览:

java用md5密码加密有必要吗?

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

如何使用Java生成MD5代码

这是我以前做的一个小项目时用到md5写的

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

//将用户密码进行md5加密   并返回加密后的32位十六进制密码

public class MD5Util {

public static String md5(String password) {

try {

// 获取md5对象

MessageDigest md = MessageDigest.getInstance("md5");

// 获取加密后的密码并返回十进制字节数组

byte[] bytes = md.digest(password.getBytes());

// 遍历数组得到每个十进制数并转换成十六进制

StringBuffer sb = new StringBuffer();

for (byte b : bytes) {

// 把每个数转成十六进制 存进字符中

sb.append(toHex(b));

}

String finish = sb.toString();

return finish;

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

// 十进制转十六进制方法

private static String toHex(byte b) {

int target = 0;

if (b 0) {

target = 255 + b;

} else {

target = b;

}

int first = target / 16;

int second = target % 16;

return Hex[first] + Hex[second];

}

static String[] Hex = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",

"a", "b", "c", "d", "e", "f" };

/*public static void main(String[] args) {

String a = MD5Util.md5("1234");

System.out.println(a);

}*/

}

Java MD5如何解密?

MD5是单向加密的,不管何种数据进行MD5加密都会得到固定长度的字符串,

MD5一般用户文件完整性的校验,也有用来做密码加密的。

想要破解MD5,因其本身的算法不可逆,故只能使用穷举法,也就是不断拼字符串加密和已知的MD5字符串进行比对,这是一个相当大的工程,需要庞大的数据基础。

java 中如何进行md5加密

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加密后的结果

java怎么把数据转换成md5

不是数据,而是字符串。

/**利用MD5进行加密

* @param str 待加密的字符串

* @return 加密后的字符串

* @throws NoSuchAlgorithmException 没有这种产生消息摘要的算法

* @throws UnsupportedEncodingException

*/

public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{

//确定计算方法

MessageDigest md5=MessageDigest.getInstance("MD5");

BASE64Encoder base64en = new BASE64Encoder();

//加密后的字符串

String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));

return newstr;

}