`
windonly
  • 浏览: 16312 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

密码MD5信息摘要的一点建议

阅读更多
一般设计的系统用户的密码都是采用MD5摘要信息保存到数据库,但是现在网络有很多MD5库,如果你不做任何处理就直接使用MD5标准算法提取摘要,最后很有可能导致用户的密码不幸已经存在在现有MD5库中.所以一般使用以下策略来避免这种情况:使用一串随机字符串和明文组合成新密码,然后提取这个新的密码的MD5摘要作为摘要保存在数据库.
例码:
 1/**//*
 2 * Created on 2007-9-22
 3 */

 4package org.dueam.common.util;
 5
 6import org.apache.commons.codec.digest.DigestUtils;
 7
 8/** *//**
 9 * @author <a href="windonly@gmail.com">Anemone</a>
10 * hz,zj,china(2007-9-22)
11 */

12public abstract class MD5Utils {
13    /** *//**
14     * 在明文之前增加随机字符串,来产生特殊MD5的摘要
15     */

16    private final static String MD5_RANDOM = "FC2F056F1D8E4D59BD95AE15EED9C9C0";
17    /** *//**
18     * 提取密码摘要
19     * @param password 密码明文
20     * @return MD5摘要
21     */

22    public static String encode(String password){
23        return DigestUtils.md5Hex(MD5_RANDOM+password);
24    }

25
26}

27
其中用到apache的codec包.
分享到:
评论

相关推荐

    MD5 摘要哈希 C语言实现 dll文件

    在C语言中实现MD5算法,可以用于数据完整性校验、密码存储以及文件校验等场景。将MD5算法封装成DLL(Dynamic Link Library)文件,可以使其他程序方便地调用MD5功能,而无需了解具体的实现细节。 首先,MD5的C语言...

    MD5官方规范

    因此,MD5不再适用于需要高度安全性的应用场景,如数字签名和密码存储。对于这些场景,推荐使用更强大的哈希函数,如SHA-256或SHA-3。 #### 七、作者信息 该文档的作者是Ron Rivest,他是MIT计算机科学实验室和RSA...

    delphi xe 使用的md5 加密

    MD5(Message-Digest Algorithm 5)是一种广泛应用于信息安全领域的哈希函数,它能将任意长度的数据转换为固定长度的128位(16字节)摘要。这个摘要具有不可逆性,即无法通过摘要恢复原始数据,因此常用于验证数据...

    MD5加密软件

    一些在线服务可能利用已知的MD5碰撞库尝试破解MD5摘要,但这并不意味着可以解密所有MD5值。 5. **MD5.EXE**: 压缩包中的`MD5.EXE`很可能是一个命令行工具或者图形界面应用程序,用于计算文件或文本的MD5值。用户...

    MD5源码(C++)

    MD5的全称是Message-digest Algorithm 5(信息-摘要算法),用于确保信息传输完整一致。在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc,的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展...

    VC6MFC md5计算 返回CString字符串

    MD5的主要用途包括数据完整性校验、密码存储等,但由于其安全性已被破解,不建议用于加密敏感信息。 在MFC项目中,我们通常会用到以下两个头文件: 1. `#include &lt;windows.h&gt;`:这是Windows SDK中的基础头文件,...

    MD5加密字符串

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的输入数据转换成固定长度的128位(16字节)摘要信息,通常以32位十六进制数字的形式表示。MD5的主要用途是验证数据的完整性和一致性...

    md5算法使用更新版

    这个过程是单向的,即从数据生成摘要很容易,但反向从摘要恢复原始数据几乎不可能,这使得MD5在数据完整性校验、密码存储等方面有着重要应用。 标题“md5算法使用更新版”暗示这是一个关于MD5算法的应用程序或代码...

    在visual c++环境下的md5加密算法 .zip

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要应用于数据的完整性校验和密码存储。在Visual C++环境下实现MD5加密算法,通常涉及到以下几个关键知识点: 1. **MD5算法原理**:MD5由美国计算机...

    md5加密方法

    ### MD5加密方法详解 #### 一、MD5简介 MD5(Message-Digest ...总之,通过本篇文章的学习,我们不仅了解了MD5加密的基本原理和实现方法,还掌握了一些实际应用场景以及注意事项,这对于初学者来说是非常有价值的。

    c# md5加密16进制

    - **用户密码加密**:虽然不建议直接使用MD5作为密码存储的方式,但在一些非关键性系统中,可以作为一种基础的安全措施。 - **文件校验**:用于比较文件是否一致,或者检查文件是否被篡改。 - **数字签名**:结合...

    密码存储中MD5算法的安全性分析1

    我们提出了一种新方法,在密码存储中使用MD5,使用外部信息,计算盐和随机密钥在MD5计算之前加密密码。我们建议使用按键拉伸进行哈希计算较慢,并使用XOR密码来制作最终的哈希值不可能在任何标准的彩虹表中找到。 ...

    java的MD5算法

    4. **防重攻击**:在一些网络应用中,如表单提交、登录验证等场景,可以通过计算请求的MD5值来防止重复提交。 #### 四、注意事项 - MD5虽然广泛使用,但由于其存在一定的安全漏洞,对于安全性要求极高的应用场景,...

    md5算法文档

    尽管MD5曾经被认为是非常安全的,但随着时间的发展和技术的进步,人们已经找到了一些方法来产生碰撞(即两个不同的输入产生相同的MD5摘要)。因此,MD5不再被认为是足够安全的散列函数,特别是在安全性要求较高的...

    md5算法java

    3. **安全性**:尽管MD5曾经被认为是安全的,但近年来已经发现了一些针对它的攻击方法,使得它不再适合用于保护敏感信息。 #### 三、Java中实现MD5算法的方法 Java提供了强大的安全API,使得实现MD5算法变得非常...

    实现MD5加密

    ### 实现MD5加密 #### 一、MD5算法简介 MD5(Message-Digest Algorithm 5)是一种广泛使用的...虽然随着技术的发展,MD5的安全性已经受到了挑战,但对于一些不涉及高度敏感信息的场景,MD5仍然是一个非常实用的选择。

    MD5算法研究Message-Digest Algorithm 5

    MD5算法由四个与MD4略有不同的步骤组成,且信息摘要的大小和填充的必要条件与MD4相同。 #### MD5算法原理 MD5算法的核心在于将任意长度的数据转换为固定长度的128位消息摘要。其具体步骤如下: 1. **预处理**:将...

    vc6.0可用的MD5算法

    CMD5类可能包含了一些成员函数,如初始化(Initialize)、更新数据(Update)、最终化(Final)以及将MD5摘要转化为可读字符串的函数。其中,`MD5_Algorithm`函数可能是CMD5类中的一个成员函数,用于执行MD5哈希计算...

    MD5校验小工具.exe

    在IT领域,MD5常用来生成一个特定长度的唯一数字和字母组成的摘要,这个摘要称为MD5校验和或MD5哈希值。当文件创建后,其MD5值会被记录,如果文件在传输、存储过程中发生任何改变,MD5值也会随之改变,因此通过对比...

    MD5加密技术(VC++实现)

    需要注意的是,尽管MD5在很多场景下仍然有效,但它已经不被视为安全的加密算法,因为存在碰撞攻击的可能,即找到两个不同的输入数据,它们的MD5摘要相同。因此,在需要更高安全性的场合,如密码存储,建议使用更现代...

Global site tag (gtag.js) - Google Analytics