`

java中使用MD5加密明文

阅读更多

        密码等重要信息入数据库的时候考虑数据的安全性,会将明文的密码加密,其中MD5就是其中的一种算法,在java中的MessageDigest类就是MD5的具体实现,在将转成的字节数组转成十六进制,起到加密的作用。

例子如下:

package MD5加密;

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

/**
 * MD5
 * @author Tms
 *
 */
public class Test {
	
	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) throws NoSuchAlgorithmException {
		String password = "tms123456";
		String passwordByMD5 = encodeByMD5(password);
		System.out.println("password:"+password);
		System.out.println("passwordByMD5:"+passwordByMD5);
	}

	private static String encodeByMD5(String password) throws NoSuchAlgorithmException {
		MessageDigest digest = MessageDigest.getInstance("md5");
		byte[] results = digest.digest(password.getBytes());
		return byteArrayToString(results);
	}

	private static String byteArrayToString(byte[] results) {
		StringBuffer sb = new StringBuffer();
		for(int i=0;i<results.length;i++) {
			//per byte to string
			sb.append(byteToString(results[i]));
		}
		return sb.toString();
	}

	//per byte to String (Algorithms)
	private static Object byteToString(byte b) {
		int n = b;
		if(n<0) {
			n = 256+n;
		}
		int d1 = n/16;
		int d2 = n%16;		
		return hex[d1]+hex[d2];
	}
}

   

     运行结果:

     

password:tms123456
passwordByMD5:B76CDA5AEBD39488E8F15CE1599BEC83

 

 

1
0
分享到:
评论

相关推荐

    java实现md5 加密解密

    java实现md5 加密解密(在网络中MD5是著名的不可逆算法,但是如果知道MD5的加密的字符串 则可以通过自己的加密算法对明文进行加密,对加密后的密文与字符串匹配; 匹配成功,表示找到明文;但是此程序的时间耗费较高!仅...

    f前台form表单密码md5加密

    导入js到项目中,然后调用$.md5($("#password").val())即可对密码进行加密传输

    Java Web开发之MD5加密用法分析

    本文实例讲述了Java Web开发之MD5加密用法。分享给大家供大家参考。具体如下: MD5是Message Digest 5的缩写,是一种加密算法,能够对字节数组进行加密,有如下特点: ① 不能根据加密后的信息找加密之前的信息; ②...

    java仿MD5格式的DES加解密源码

    定义加密和解密方法:在代码中定义了两个方法,一个是用于加密明文的方法encrypt(),另一个是用于解密密文的方法decrypt()。 实现DES加密算法:在encrypt()方法中,使用javax.crypto库中的Cipher类和相关方法实现了...

    java_DigitalSign.rar_ sign md5_hash md5 in java_公钥数字签名_加密_数字签名 j

    (1)发送方使用MD5算法对原始信息进行计算,获得一个固定长度的信息摘要 (2)发送方用自己的私钥加密生成的信息生成发送方的数字签名,发送方把这个数字签名作为发送信息的附件和明文信息,一同用接收方的公钥进行...

    js,java,加密解密

    JCryptoJS v3.1.2和JAVA加解密,支持AES,MD5等,其中AES有实例已在生产环境中使用,亲测通过。 在使用时js对明文密码加密再提交,后台java解密。 随机生成key放到session中,js用该key加密,java用该key解密。 可...

    des加密解密MD5签名RSA加密解密

    总共两个用户 A和B, A负责加密,B解密。用Java编写界面。 首先A用DES对选定文件加密,用hash函数对明文提取hash值,RSA对hash值加密, 然后B对加密的文件解密,对A的s值解密,比较两个值

    Java中常用的加密算法及其实现原理详解-保护信息的铠甲,静默守护你的隐私

    继而,我们将介绍散列算法,包括MD5和SHA,最后,我们将介绍数字签名算法。  对称加密算法使用相同的密钥对数据进行加密和解密。DES(Data Encryption Standard)是一种最早的对称加密算法,使用56位密钥对数据...

    zzu网络安全技术实验包含

    我们常说的MD5加密解密,是对MD5算法先加密后解密,而不是对MD5的加密。其实MD5解密本质并不是真正的解密之类的,其原理只不过是加速了杂凑冲撞。简单来说,就是知道一个MD5串,然后使用原文进行MD5散列后再生成同样...

    MD5计算检验工具 x64

    尽管很多 Application Server提供了这些基本组件,但很多应用开发者为了管理的更大的灵活性还是喜欢采用关系数据库来管理用户,懒惰的做法是用户的密码往往使用明文或简单的变换后直接保存在数据库中,因此这些用户...

    java jasypt包PBEWithMD5AndDES算法加解密C#版

    Java 使用jasypt包辅助,实现密码加解密。本方法实现了C#版,适用于一方加密另一方解密的情况,根据默认配置改版,可在当前版本基础上自定义更改指定算法、hash迭代次数、salt生成方式等

    Java实现RSA加密解密,数字证书生成与验证

    Java实现RSA加密解密,数字证书生成与验证,模拟两个端通信,AB双方通信,客户端A把需要传输的文件MD5值用自己的私钥生成数字签名,连同明文用服务端B的公钥加密后传送给服务端B,服务端B用私钥解密验证数字签名,并计算...

    [S036] MD5算法.rar

    介绍MD5加密算法基本情况MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。 Message-Digest泛指字节串(Message)的Hash变换,就是...

    基于Java实现带图形用户界面的基于数据加密算法的即时聊天系统源码+项目说明+sql数据库.zip

    其中用户的密码使用 MD5 加密后存储于数据库,用户与用户间的聊天记录信息使用 RSA 加密算法后形成密文在后台服务器进行传输,好友经过共享密钥进行解密后才能得到明文,基于以上的加密操作来防止中间攻击导致的数据...

    MD5计算检验工具 x32

    尽管很多 Application Server提供了这些基本组件,但很多应用开发者为了管理的更大的灵活性还是喜欢采用关系数据库来管理用户,懒惰的做法是用户的密码往往使用明文或简单的变换后直接保存在数据库中,因此这些用户...

    Java实现RSA加密解密,数字证书生成与验证(有搭Socket)

    AB双方通信,A把需要传输的文件MD5值用自己的私钥生成数字签名,连同明文用B的公钥加密后传送给B,B用私钥解密验证数字签名,并计算明文MD5值跟密文的MD5值比较

    信息摘要,数字签名的java实现

    (1)发送方使用MD5算法对原始信息进行计算,获得一个固定长度的信息摘要 (2)发送方用自己的私钥加密生成的信息生成发送方的数字签名,发送方把这个数字签名作为发送信息的附件和明文信息,一同用接收方的公钥进行...

    SecurityAlg:常见安全加密算法Java实现

    本项目是东南大学网络信息安全课程的大作业,使用Java实现常见安全算法,包括DES,AES,MD5, SHA,RSA等,在此基础设计了一个包含GUI的应用,要求如下: 图中M 表示明文, H 表示 Hash 函数, E 表示加密算法, D ...

    基于Java实现检测用户在线列表【100011219】

    完成了对该程序的基本要求,服务器端能够强制下线用户, 能够看到...传输数据时,对于传输的数据,均采用了aes加密,且加密的密钥为用户名+用户名+密码的MD5值,于是避免了交换密钥,从而使得不可能存在中间人窃听的情况发生.

    java实现学生管理系统源码-Cryptography:密码学

    转换加密使用三个数学上相关的密钥:一个用于将明文加密给收件人,第二个用于解密密文,第三个将加密的密文转换为一个收件人,以便其他收件人可以解密。 哈希函数 - 广泛使用的散列函数产生 128 位散列值。 MD5 最初...

Global site tag (gtag.js) - Google Analytics