MD5加密算法代码

虽然前面整理了相对MD5更安全的SHA散列算法,但有时MD5还是有他的需求的,所以也整理备份下。

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Utils {

	/**
	 * md5加密方法
	 * @param password
	 * @return
	 */
	public static String md5Password(String password) {

		try {
			// 得到一个信息摘要器
			MessageDigest digest = MessageDigest.getInstance("md5");
			byte[] result = digest.digest(password.getBytes());
			StringBuffer buffer = new StringBuffer();
			// 把没一个byte 做一个与运算 0xff;
			for (byte b : result) {
				// 与运算
				int number = b & 0xff;// 加盐
				String str = Integer.toHexString(number);
				// System.out.println(str);
				if (str.length() == 1) {
					buffer.append("0");
				}
				buffer.append(str);
			}

			// 标准的md5加密后的结果
			return buffer.toString();
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "";
		}

	}

}
时间: 2024-12-09 23:06:42

MD5加密算法代码的相关文章

代替MD5加密的SHA安全散列加密算法代码整理

根据以往的经验,我们通常使用MD5加密算法,尽管其可以破解,但因其周期性比较长,所以我也一直在使用,今天学习到了一种新的加密算法,安全哈希算法,确切的说他并不是数据加密算法,而是数据数字签名算法,它不是对整个数据进行加密,而是对数据提取部分信息进行签名,采用该算法对不同的数据进行加密,会得到唯一的字符串,该字符串就像签名一样,只有该数据才可能产生这样的签名字符串. 下面是java实现的SHA算法加密,我们可以使用该算法编写加密工具类: package com.cloud.skater.util;

MD5加密算法(java及js)

为了防止用户登陆过程中信息被拦截导致信息泄露,我们应该在客户端就对用户密码进行加密.浏览器提交给服务器的是加密后的信息,即使被恶意拦截,被拦截信息也已做了加密处理,现在比较安全的一种加密算法是MD5加密算法,尽管MD5是一种单向的加密算法,但网上也有破解网站,所以为了进一步提高安全性,可以进行两次md5加密,或者结合其他的加密方法如3des等进行二次加密. 代码如下: js版: var hexcase = 0; function hex_md5(a) { if (a == "") re

MD5加密算法详细分析_C实现

MD5加密算法 本文为原创作品,转载请注明出处:http://write.blog.csdn.net/postedit/51736426--开心! 维基百科对其描述: MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致.MD5由罗纳德·李维斯特设计,于1992年公开,用以替换MD4算法.这套算法的程序在 RFC 1321 中被加以规范. 将

一起谈谈MD5加密算法

MD5是一个安全的散列算法,输入两个不同的明文不会得到相同的输出值,根据输出值,不能得到原始的明文,即其过程不可逆:所以要解密MD5没有现成的算法,只能用穷举法,把可能出现的明文,用MD5算法散列之后,把得到的散列值和原始的数据形成一个一对一的映射表,通过比在表中比破解密码的MD5算法散列值,通过匹配从映射表中找出破解密码所对应的原始明文. 对信息系统或者网站系统来说,MD5算法主要用在用户注册口令的加密,对于普通强度的口令加密,可以通过以下三种方式进行破解: (1)在线查询密码.一些在线的MD

md5加密算法c语言版

from: http://blog.sina.com.cn/s/blog_693de6100101kcu6.html 注:以下是md5加密算法c语言版(16/32位) --------------------------------------------------- 网上找到的md5函数的实现,包括三个文件,依次如下: 头文件 TL_MD5.h 1 [cpp] 2 #ifndef MD5_H 3 #define MD5_H 4 5 typedef struct 6 { 7 unsigned

常用MD5算法代码

常用的MD5算法代码日期: 2014年8月4日作者: 铁锚 MD5,全称为 Message Digest Algorithm 5(消息摘要算法第五版).详情请参考 维基百科:MD5 MD5加密后是一个字节数组, 但我们一般是取其十六进制的字符串表示法,当然,十六进制数字符串是区分大小写,在 mysql数据库,Java,和JavaScript语言中,一般是使用小写的字符串来表示, 而在 Oracle数据库官方提供的包中,返回的是大写字符串,这算是一个坑,如果你想要执行多次 md5,可能需要转换为小

IOS开发基础之—MD5加密算法

IOS开发基础之—MD5加密算法 MD5加密算法,实现类别如下: #import <CommonCrypto/CommonDigest.h> @interface NSString (md5) -(NSString *) md5HexDigest; @end #import "NSString+MD5HexDigest.h" @implementation NSString (md5) -(NSString *) md5HexDigest { const char *ori

RFC1321 MD5加密算法

global.h 1 /* GLOBAL.H - RSAREF types and constants 2 */ 3 4 /* PROTOTYPES should be set to one if and only if the compiler supports 5 function argument prototyping. 6 The following makes PROTOTYPES default to 0 if it has not already 7 been defined w

MD5加密算法(实际应用)

1 package Util; 2 3 import java.security.MessageDigest; 4 import java.security.NoSuchAlgorithmException; 5 6 import sun.security.provider.MD5; 7 8 public class MD5Util { 9 private static final char[] hexDigest = new char[]{'0','1','2','3','4','5','6'