当前位置: 移动互联网学院 > Java培训 > JAVA开发 > Java中md5加密怎么写?附实现代码
Java中md5加密怎么写?附实现代码 时间:2017-09-04     来源:华清远见JAVA学院

在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,所以今天华清Java学院小编就和大家分享一下Java中的md5加密算法是怎么实现的?

Javamd5算法

什么是Javamd5算法?

MD5加密算法为现在应用广泛的哈希算法之一,该算法广泛应用于互联网网站的用户文件加密,能够将用户密码加密为128位的长整数。数据库并不明文存储用户密码,而是在用户登录时将输入密码字符串进行MD5加密,与数据库中所存储的MD5值匹配,从而降低密码数据库被盗取后用户损失的风险。

JavaMD5加密算法实现代码如下:

1 package com.b510.note;

3 import java.math.BigInteger;

4 import java.security.MessageDigest;

5 import java.security.NoSuchAlgorithmException;

6

7 /**

8 * MD5加密

12 */

13 public class MD5 {

14

15 public static void main(String[] args) {

16 System.out.println(MD5.getMD5("123456"));

17 }

18

19 /**

20 * 用md5编码后的码值

22 * @param sInput

23 * 明码

24 * @return md5加密后的密码

25 */

26 public static String getMD5(String sInput) {

27

28 String algorithm = "";

29 if (sInput == null) {

30 return "null";

31 }

32 try {

33 algorithm = System.getProperty("MD5.algorithm", "MD5");

34 } catch (SecurityException se) {

35 }

36 MessageDigest md = null;

37 try {

38 md = MessageDigest.getInstance(algorithm);

39 } catch (NoSuchAlgorithmException e) {

40 e.printStackTrace();

41 }

42 byte buffer[] = sInput.getBytes();

43

44 for (int count = 0; count < sInput.length(); count++) {

45 md.update(buffer, 0, count);

46 }

47 byte bDigest[] = md.digest();

48 BigInteger bi = new BigInteger(bDigest);

49 return (bi.toString(16));

50 }

51 }

运行效果:

1 186d636867f51c667893c1b1b3d96dc3

我们可以根据自己的需要,来得到自己想要的md5加密后的密文;

1 //这里的数字是可以根据需要而进行改变的

2 return (bi.toString(16));

X