- 4
- 0
- 约1.98千字
- 约 2页
- 2022-04-18 发布于福建
- 举报
在各种应用系统的开发中, 经常需要 存储 用户信息,很多地方都要存储用户密码,
而将用户密码直接存储在 服务器 上显然是不安全的, 本文简要介绍工作中常用的
MD5加密算法,希望能抛砖引玉。
(一)消息摘要简介
一个消息摘要就是一个数据块的数字指纹。 即对一个任意长度的一个数据
块进行计算,产生一个唯一指印 (对于SHA1是产生一个 20 字节的二进制数组) 。
消息 摘要是一种与消息认证码结合使用以确保消息完整性的技术。主要使用
单向散列函数算法, 可用于检验消息的完整性, 和通过散列密码直接以文本形式
保存等,目前 广泛使用的算法有 MD4、MD5、SHA-1.
消息摘要有两个基本属性:
两个不同的报文难以生成相同的摘要难以对指定的摘要生成一个报文, 而可
以由该报文反推算出该指定的摘要代表:美国国家标准技术研究所的 SHA1和麻
省理工学院 Ronald Rivest 提出的 MD5
(二)对字符串进行加密
/** *//** 利用 MD5进行加密
* @param str 待加密的字符串
* @return 加密后的字符串
* @throws NoSuchAlgorithmException 没有这种产生消息摘要的算法
* @throws UnsupportedEncodingException
*/
public String EncoderByMd5(String str) throws NoSuchAlgorithmEx
ception,
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==
(三)验证密码是否正确
因为 MD5是基于消息摘要原理的, 消息摘要的基本特征就是很难根据摘要推
算出消息报文,因此要验证密码是否正确,就必须对输入密码(消息报文)重新
计算其摘要, 和数据库 中存储的摘要进行对比 (即数据库中存储的其实为用户密
码的摘要),若两个摘要相同,则说明密码正确,不同,则说明密码错误。
/** *//** 判断用户密码是否正确
* @param newpasswd 用户输入的密码
* @param oldpasswd 数据库中存储的密码--用户密码的摘要
* @return
* @throws NoSuchAlgorithmException
* @throws UnsupportedEncodingException
*/
public boolean checkpassword(String newpasswd,String oldpasswd)
throws NoSuchAlgorithmException,
UnsupportedEncodingException...{
if(EncoderByMd5(newpasswd).equals(oldpasswd))
return true;
else
return false;
}
您可能关注的文档
- LED显示屏小知识:全彩LED显示屏驱动方式借鉴.pdf
- LED显示屏在智能公交站牌中的应用文件.pdf
- LED照明可行性分析报告2人10W参照.pdf
- Java基础测试题-1收集.pdf
- java基础测试题分享.pdf
- java简明教程第三版考试必备归类.pdf
- java开发规范实用.pdf
- java实现几种加密算法终稿.pdf
- java视频播放器源代码知识.pdf
- java文件上传,客户端和服务器端知识.pdf
- 2026福建福州市鼓楼区司法局专职人民调解员招聘2人备考试题及参考答案详解一套.docx
- 2026福建福州福清市侨乡幼儿园招聘备考试题含答案详解.docx
- 2026重庆市北碚区经济和信息化委员会遴选外聘法律顾问1人备考题库及参考答案详解.docx
- 2026重庆生态环境局招聘备考题库及参考答案详解1套.docx
- 2026舟山岱山县市场监督管理局编外招聘2人备考题库及参考答案详解一套.docx
- 人教版11-别伤着自己2.pptx
- 网络方案实施报告书.doc
- 改造工程所需资料一览表.doc
- 2026黑龙江哈尔滨工业大学商学院招聘备考题库及完整答案详解1套.docx
- 2026贵州省审计厅所属事业单位招聘2人方案备考题库含答案详解.docx
原创力文档

文档评论(0)