在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍工作中常用的 MD5加密算法,希望能抛砖引玉。
(一)消息摘要简介
一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一指印(对于SHA1是产生一个20字节的二进制数组)。消息摘要是一种与消息认证码结合使用以确保消息完整性的技术。主要使用单向散列函数算法,可用于检验消息的完整性,和通过散列密码直接以文本形式保存等,目前广泛使用的算法有MD4、MD5、SHA-1。 消息摘要有两个基本属性:
1. 两个不同的报文难以生成相同的摘要
2. 难以对指定的摘要生成一个报文,而可以由该报文反推算出该指定的摘要 代表:美国国家标准技术研究所的SHA1和麻省理工学院Ronald Rivest提出的MD5
(二)对字符串进行加密
/**利用MD5进行加密
* @param str 待加密的字符串
* @return 加密后的字符串
* @throws NoSuchAlgorithmException 没有这种产生消息摘要的算法
* @throws UnsupportedEncodingException
*/
public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{
//确定计算方法
MessageDigest md5=MessageDigest.getInstance("MD5");
BASE64Encoder base64en = new BASE64Encoder();
//加密后的字符串
String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));
return newstr;
}
调用函数: String str="0123456789"
System.out.println(EncoderByMd5(str));
输出:eB5eJF1ptWaXm4bijSPyxw==
分享到:
相关推荐
Java实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。
java中的MD532位加密。将java类放入项目中,使用encrypByMd5静态方法即可生成hex_md5 32位加密的字符串。
Java中实现Md5(32位)加密,此资源下载后可直接在程序中使用
java与c#MD5加密方法得到不一致解决办法,MD5加密后得到不一致结果
java实现md5 加密解密(在网络中MD5是著名的不可逆算法,但是如果知道MD5的加密的字符串 则可以通过自己的加密算法对明文进行加密,对加密后的密文与字符串匹配; 匹配成功,表示找到明文;但是此程序的时间耗费较高!仅...
JAVA_对文件MD5加密,附有代码实例,加密解密方法
这个类可以实现,java语言下通过对上传文件进行MD5加密,然后将加密值与原来上传的文件加密值进行对比,防止上传重复文件。
md5加密java写法轻松实现md5让你学会加密,会的可以给点建议,不会的可以借鉴,大家讨论加密!很方便的使用!
java中常用的工具类,用于MD5的加密,里面还有切割了MD5加密的长度,有DES加密与解密,并且配有main函数可测试,可以根据自己的实际情况使用main函数测试使用
java 采用MD5 加密密码 的方法
纯JAVA的MD5加密,利用MD5单向函数产生密钥,方便测试
对接接口时用到的一种常用加密算法,常用于验证签名,使用shiro-all-1.4.1.jar,可自行下载
java中使用MD5加密算法进行加密.pdf
java中的md5加密函数,已经封装成类和函数了,非常好用。
AES使用java和js互相加解密及前端MD5加密,java后台加密前端js解密,或前端js加密,后端java解密,
解决Delphi 中文MD5签名和Java MD5签名不一致的问题。
java中关于Springboot加密 md5加密,注册密码加密到数据库中的关键语句,md5加密语句
现在项目中,有很多基于安全的考虑,所以学习关于加密的知识已显得很重要啦,先上传一小例子,希望对大家有所帮助....
java写的MD5加密程序,具有短小的特点