使用Java自带API进行MD5加密

原创 2012年03月29日 23:04:52

因为毕业设计的缘故,研究了一下网站的加密,做了一个MD5加密,也算是一个小小的加密、但是在Web程序上不论是在客户端还是服务端加密理论上都是不安全的,我们要使用HTTPS这个协议来保证通信的全加密再加上MD5加密才比较安全、MD5是一个不可逆的加密算法、所以一般来说只要加密就好、不需要解密程序.数据库中存入的也是加密过得密码就行了、下面直接上代码

public  class  EncryptionByMD5 {

	public static String getMD5(byte[] source) {
		String s = null;
		char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
				'a', 'b', 'c', 'd', 'e', 'f' };// 用来将字节转换成16进制表示的字符
		try {
			java.security.MessageDigest md = java.security.MessageDigest
					.getInstance("MD5");
			md.update(source);
			byte tmp[] = md.digest();// MD5 的计算结果是一个 128 位的长整数,
			// 用字节表示就是 16 个字节
			char str[] = new char[16 * 2];// 每个字节用 16 进制表示的话,使用两个字符, 所以表示成 16
			// 进制需要 32 个字符
			int k = 0;// 表示转换结果中对应的字符位置
			for (int i = 0; i < 16; i++) {// 从第一个字节开始,对 MD5 的每一个字节// 转换成 16
				// 进制字符的转换
				byte byte0 = tmp[i];// 取第 i 个字节
				str[k++] = hexDigits[byte0 >>> 4 & 0xf];// 取字节中高 4 位的数字转换,// >>>
				// 为逻辑右移,将符号位一起右移
				str[k++] = hexDigits[byte0 & 0xf];// 取字节中低 4 位的数字转换

			}
			s = new String(str);// 换后的结果转换为字符串

		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return s;
	}
	
	public static void main(String[] args){
	
		String test=EncryptionByMD5.getMD5("test".getBytes());
		System.out.println(test);

	}
}
输出结果为:098f6bcd4621d373cade4e832627b4f6



利用Java自带的MD5加密

转自: http://blog.sina.com.cn/s/blog_6b275753010161t3.html package test.md5; import java.security...
  • kuangfengbuyi
  • kuangfengbuyi
  • 2016年09月29日 15:20
  • 5368

JDK自带MD5加密算法

其实jdk就自带了md5加密算法,直接调用很方便 public static String md5(String source) { StringBuffer sb = new String...
  • wqs1010
  • wqs1010
  • 2013年04月23日 17:11
  • 4670

java自带的MD5加密 以及jsMD5加密

java自带的MD5加密方法调用进行加密, import java.security.MessageDigest; public class MD5Util { public final...
  • Q1059081877Q
  • Q1059081877Q
  • 2015年06月30日 22:23
  • 1569

java自带MD5加密

之前自己做加密的时候,都是copy一份java文件,然后做加密。但是今天看项目的源码的时候,发现同事用的是jdk自带的md5加密。所以现在附上源码: import java.math.BigIn...
  • zl544434558
  • zl544434558
  • 2014年02月17日 15:04
  • 2042

利用Java自带的MD5加密

import java.security.MessageDigest; public class MD5Util {     public final static String MD5(St...
  • z90818
  • z90818
  • 2016年09月27日 08:37
  • 185

使用javaAPI生成MD5摘要

方法很简单,直接贴junit测试代码:@Test public void test() throws NoSuchAlgorithmException { String str...
  • qq_26819733
  • qq_26819733
  • 2017年06月28日 15:17
  • 194

利用Java自带的MD5加密

package test.md5; importjava.security.MessageDigest; public class MD5Util {     public finalstati...
  • a497006686
  • a497006686
  • 2015年02月21日 19:42
  • 262

MD5校验java API实现

  • 2014年06月17日 10:02
  • 2KB
  • 下载

百度翻译API与MD5加密 Java使用

这段时间研究一下百度翻译API,结果发现新版的百度翻译较以前的有了很大的变化: 旧版百度翻译的URL地址: http://openapi.baidu.com/public/2.0/bmt/tran...
  • xiaomen417
  • xiaomen417
  • 2015年12月09日 16:21
  • 2321

java中使用MD5进行加密

  在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍工作中常用的 MD5加密算法,希望能抛砖引玉。(一)消息摘要简介 ...
  • flashlm
  • flashlm
  • 2007年06月26日 17:42
  • 2790
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Java自带API进行MD5加密
举报原因:
原因补充:

(最多只允许输入30个字)