`
holdbelief
  • 浏览: 707751 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MD5摘要计算

阅读更多

  在JSP 程 序中,用MD5算法的常用之处就是对用户登录密码的加密和验证了。在数据库中,存放系统用户信息的用户表中常常会有用户登录密码这个字段,如果不对密码作 加密处理,放在这个字段中的密码就会是明文,只要能打开数据库并拥有对用户表的查询权限,就可以直接看到用户的登录密码,这样是不够安全 的。为解决这个问题,可以采用MD5算法来对密码计算摘要,然后把计算后的摘要存放到密码字段中,那么在数据库的用户表中查看到的就不是明文了。

  MD5算法并不是对数据的加密处理,而是对数据采用MD5算法来记录数据特征(称为摘要)的一段字符串,对于同一个数据,计算出来的摘要是相同 的。因此,在用户注册时,就在用户表的密码字段存放根据密码数据用MD5算法计算出来的摘要;在下次登录时,根据用户输入的密码作MD5算法计算摘要处 理,如果计算出来的摘要与用户表中存放的摘要相同,则表示密码正确。

  一般来说,不管要传递的数据有多长,计算出来的摘要总是16或20个字节长。JDK中已带有目前比较成熟的计算摘要的算法,如MD5、SHA等。下面来看MD5计算摘要是如何实现的。

		String password = "passwordpasswordpasswordpassword";
		
		// 生成MessageDigest对象MD5
		MessageDigest MD5 = MessageDigest.getInstance("MD5");
		
		//传入要计算的字符串
		MD5.update(password.getBytes("UTF-8"));
		
		// 计算消息摘要
		byte[] passwordMD5Byte = MD5.digest();
		password = new String(passwordMD5Byte);
		
		System.out.println(password);
		System.out.println(password.length());
 
分享到:
评论

相关推荐

    MD5摘要计算算法(C++版)源代码

    C++语言实现的MD5加密算法,附有详细的注释说明。

    MD5_MessageDigest_java_md5_消息摘要_

    在给定的`MD5_MessageDigest`压缩包中,可能包含了一个Java项目或者示例代码,演示了如何使用MD5进行消息摘要计算以及验证。这个项目可能涵盖了从读取文件内容到计算MD5摘要的完整过程,以及如何比较两个MD5摘要以...

    WEB 开发高级技术MD5 摘要计算

    NULL 博文链接:https://leiwuluan.iteye.com/blog/364574

    java调用MD5加密方式计算摘要值(有界面)

    在Java中,MD5主要用于数据的完整性校验和密码存储,因为其不可逆性,即使原始数据被篡改,通过MD5计算出的摘要值也会有所不同。 在Java中,我们可以使用`java.security.MessageDigest`类来实现MD5加密。这个类提供...

    MD5计算工具,开源的MD5计算工具

    综上所述,MD5计算工具在数据校验、文件比较等方面发挥着重要作用,而开源的MD5_Hash_Changer.exe这样的工具为用户提供了一种便捷、免费且透明的方式来获取和验证文件的MD5摘要,确保了数据的安全传输和存储。

    MD5 C++实现 对文件计算MD5值

    5. **MD5最终化**:当所有数据都处理完毕后,调用MD5的最终化函数(如`MD5Final`),生成最终的MD5摘要。 6. **格式化MD5值**:将得到的128位二进制MD5值转换为16进制字符串,存储到`pMd5`指向的字符数组中。 7. *...

    一个比较好用的md5计算工具

    这个“一个比较好用的md5计算工具”很可能是一个名为“MD5Summer”的应用程序,提供计算文件MD5值的功能。MD5Summer.exe很可能是该工具的可执行文件,用户下载后可以直接运行。下面我们将详细探讨MD5计算工具和MD5...

    c++ 计算大文件md5

    - **完成MD5计算**:读取完所有数据后,使用`MD5_Final`计算最终的MD5摘要。 - **转换为十六进制字符串**:将得到的16字节MD5摘要转换为32字符的十六进制字符串,便于比较和展示。 3. **C++代码实现**: 在`md5....

    易语言模块数据摘要模块(MD5算法实现) 飞扬工作室.rar

    在这个模块中,可能包含了MD5的计算过程,用户可以通过调用模块中的函数,对任意数据进行MD5摘要计算。 5. **飞扬工作室**:这个名称可能是指开发这个易语言模块的工作室或个人,他们提供了易语言环境下的MD5实现,...

    Java计算文件MD5值(支持大文件)

    Java计算文件MD5值(支持大文件) package com.hthl.xxtd; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.security.MessageDigest; import org....

    md5+sha1摘要校验工具

    3. 计算MD5摘要:在CMD中输入`certutil -hashfile YourFileName.md5 MD5`,其中`YourFileName.md5`替换为你要校验的文件名。 4. 计算SHA1摘要:类似地,输入`certutil -hashfile YourFileName.md5 SHA1`。 5. 输出...

    字符串、文件MD5值计算工具

    标题中的“字符串、文件MD5值计算工具”指的是一个程序,能够快速计算出字符串和文件的MD5哈希值。这个工具简化了MD5计算的过程,用户只需输入字符串或者直接将文件拖拽到程序界面上,程序就能自动计算出对应的MD5值...

    VB-MD5-encryption-class.rar_md5加

    总的来说,这个VB MD5加密类是一个实用的工具,可以帮助开发者快速实现数据的MD5摘要计算,但必须意识到其安全性限制,并根据具体需求谨慎使用。在使用时,确保理解类的内部工作原理,以及如何正确地结合密钥和其他...

    MD5计算工具

    在IT行业中,MD5计算工具是非常实用的辅助软件,它们可以帮助用户快速计算文件的MD5摘要。当我们面对同名但内容可能不同的文件时,MD5值就成为了一种有效的辨别手段。例如,当你从不同来源下载同一个软件时,可以...

    md5算法.可以对文件和字符串计算md5值

    还会声明MD5的初始化函数(如MD5_Init)、更新函数(如MD5_Update)和最终化函数(如MD5_Final),它们分别用于开始计算、添加数据和获取最终的MD5摘要。 3. **实现MD5函数(Md5.cpp)**:在这个源文件中,你需要实现...

    网络信息安全MD5课程设计

    2. MD5摘要计算:软件对上传的文件进行MD5运算,生成唯一的128位摘要。 3. 加密过程:利用MD5摘要,通过特定的加密算法对文件进行加密,使得原始数据变得难以理解。 4. 文件存储:加密后的文件保存在指定位置,同时...

    椭圆曲线签名及MD5算法

    签名者使用私钥k和MD5摘要计算出r和s,接收者则用公钥K和签名(r,s)来验证MD5摘要是否与原始消息对应。 在Visual Studio 2005环境下开发的这个程序,对于学习和理解ECDSA和MD5的结合使用是一个很好的资源。开发者或...

    Md5 计算以及校验器

    当用户选择一个文件后,程序会读取文件内容,通过MD5算法计算出对应的MD5摘要。这个过程通常非常快,因为MD5设计的目标之一就是高效性。 校验MD5则是将已知的MD5值与新计算出的MD5值进行对比,如果两者相同,说明...

    VC++ 文件MD5摘要

    在VC++环境中,开发人员通常需要计算文件的MD5摘要来验证文件的完整性和未被篡改。MD5算法生成一个128位的散列值,通常以32个十六进制数字的形式表示,这使得即使是微小的数据变化也会导致生成的MD5摘要显著不同。 ...

Global site tag (gtag.js) - Google Analytics