MD5 加密算法实现

package com.asiainfo.encryption.s1;

import java.security.MessageDigest;

public class Md5 {

	public static void main(String[] args) {
		try {
			String str = "简单加密";
			MessageDigest messageDigest = MessageDigest.getInstance("MD5");
			messageDigest.update(str.getBytes());
			byte[] hash = messageDigest.digest();

			StringBuffer hexString = new StringBuffer();
			for (int i = 0; i < hash.length; i++) {
				if ((0xff & hash[i]) < 0x10) {
					hexString.append("0" + Integer.toHexString((0xFF & hash[i])));
				} else {
					hexString.append(Integer.toHexString(0xFF & hash[i]));
				}
			}
			System.out.println("result: " + hexString);

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

result: aaf4b26fcb652b9d6b9deec186cb21aa

时间: 2024-08-02 13:09:19

MD5 加密算法实现的相关文章

MD5加密算法(java及js)

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

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'

MD5加密算法的识别

通过MD5加密算法原理的介绍,会了解到MD5在加密的过程中,有几个固定的流程(特征),在逆向分析的过程中通过这些特征可以识别出当前使用的是MD5的加密算法,从而更高效的分析还原算法. 整理下MD5加密的几个特征: 1. 处理的数据是512位为1组,补位数据的填充方式 2. 4个初始常数 A=0X67452301L,B=0XEFCDAB89L,C=0X98BADCFEL,D=0X10325476L (4个初始常数的值为主要特征) 3. 4轮Hash运算 (每轮的移位次数及运算的常量为主要特征) 第

XE6 MD5 加密算法

XE6 MD5 加密算法Delphifunction MD5(const texto: string): string; var idmd5: TIdHashMessageDigest5; begin idmd5 := TIdHashMessageDigest5.Create; try result := idmd5.HashStringAsHex(texto); finally idmd5.Free; end; end; c++builder #include <IdHashMessageDi

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加密算法简单示例

MD5加密算法简单示例 现在网络上一般的网站,只要功能稍微完善一点的,都需要用户进行注册,提供诸如用户名.用户密码.电子邮件.甚至是电话号码.详细住址等个人隐私信息,然后才可以享受网站提供的一些特殊的信息或者服务.为了增加安全性,有必要对数据库中的隐私数据进行加密. MD5算法,即"Message-Digest Algorithm 5(信息-摘要算法)",它是由MD2.MD3.MD4 发展而来的一种单向加密算法,也就是哈希(HASH)算法,是由国际著名的公钥加密算法标准RSA的第一设计

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