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

MD5加密算法

阅读更多
package com.hexun.blog.dongliwei.utils;

import java.security.MessageDigest;

/**
 *文件名:MD5Util.java<br>
 *@author dongliwei<br>
 *版本:<br>
 *描述:<br>
 *创建时间:2008-9-25 下午04:43:36<br>
 *文件描述:<br>
 *修改者:<br>
 *修改日期:<br>
 *修改描述:<br>
 */
public class MD5Util {

    /**
     * MD5加密
     * @param str
     * @return
     */
    public static String crypt(String str) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5"); //所用的加密算法
            md.update(str.getBytes());
            byte[] digestArr = md.digest(); //计算摘要,加密
            String aaa = byte2hex(digestArr);
            return aaa;
        }
        catch (Exception e) {
            return "error!";
        }
    }
    
    /**
     * 加密辅助
     * @param b
     * @return
     */
    public static String byte2hex(byte[] b) {
        String hs = "";
        String stmp = "";
        for (int n = 0; n < b.length; n++) {
            stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));
            if (stmp.length() == 1) {
                hs = hs + "0" + stmp;
            }
            else {
                hs = hs + stmp;
            }
        }
        return hs.toUpperCase();
    }
    
    /**
     * 测试
     * @param args
     */
    public static void main(String args[]){
    	System.out.println(MD5Util.crypt("dongliwei"));
    }
    
}
分享到:
评论
2 楼 yueyan945 2009-12-15  
javaeyebird 写道
引用
hs = hs + stmp;

在循环里效率低下。。。java的基本常识。。。
虽然只循环16次。。。


16次会造成低效率吗?
1 楼 javaeyebird 2009-03-15  
引用
hs = hs + stmp;

在循环里效率低下。。。java的基本常识。。。
虽然只循环16次。。。

相关推荐

    md5加密算法

    ### MD5加密算法详解 #### 一、MD5算法简介 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,它能够接收任意长度的信息,并产生一个128位(16字节)的散列值。该算法由Ron Rivest在1991年设计,作为...

    md5加密算法 C语言(经过测试验证完整版)

    md5加密算法 C语言(经过测试验证完整版) 经过调试验证,与工具结果一致 MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash...

    MD5 加密算法 C++实现源码

    在C++中实现MD5加密算法,通常包括以下几个步骤: 1. **初始化MD5状态**: 创建一个128位的缓冲区,用于存储中间结果,初始化为一组固定的常量。 2. **处理输入数据**: 将输入的明文数据按照512位的块进行处理。...

    VBA MD5加密算法实现

    VBA MD5加密 算法

    VB6.0 MD5加密算法 支持中文(调用Window API计算)

    在VB6.0中实现MD5加密算法,主要是为了确保数据的完整性和不可篡改性,比如在存储密码、数字签名等方面有重要作用。 在VB6.0中实现MD5加密,通常需要调用Windows API函数,因为VB6.0本身并不直接支持MD5。Windows ...

    md5加密算法源码,c语言源码

    md5加密算法源码: 一 \md5加密是对字符或密码进行的16位或32位等加密方式! 一般在普通MDB数据库经常用到,比如论坛数据库等.有用! 二 \加密解密并不矛盾,比如银行系统的128位加密现在谁可以轻易破的了呢? 虽然md5...

    md5加密算法 C++源码

    总的来说,MD5加密算法在C++中的实现涉及到哈希函数的理解、位操作和循环结构的运用,以及可能的第三方库的集成。理解MD5的工作原理,结合C++编程技巧,可以有效地实现和应用这一重要的信息安全工具。

    java实现MD5加密算法

    总结,Java实现MD5加密算法主要是通过`java.security.MessageDigest`类,经过`getInstance("MD5")`获取MD5实例,然后使用`digest()`和`update()`方法处理数据,最终将二进制摘要转换为十六进制字符串。尽管MD5的安全...

    MD5加密算法源码.rar

    在给定的"MD5加密算法源码"中,你可能会看到以下结构: 1. **初始化**: 使用一组预定义的常量初始化四个32位的中间结果寄存器A、B、C和D。 2. **处理消息块**: MD5处理的是512位的消息块,将消息块分为16个32位的...

    MD5加密算法的VB6.0类模块实例.doc

    MD5加密算法的VB6.0类模块实例 MD5加密算法是目前广泛使用的一种加密算法,主要用于数据完整性和身份验证。VB6.0是微软公司开发的一种编程语言,广泛应用于Windows操作系统的开发中。该类模块实例将MD5加密算法与VB...

    MD5加密算法程序

    在给定的压缩包中,`MD5.cpp` 和 `MD5.h` 文件是实现MD5加密算法的源代码。`MD5.cpp` 文件包含了MD5算法的具体实现,可能包括了MD5的初始化、更新、最终化等核心步骤。而 `MD5.h` 文件则可能定义了相关的类或函数...

    原创:可指定加密次数,经简单变异后的MD5加密算法。

    相信网站用上这个MD5加密算法函数会更加的安全。 没啥技术含量,大家见笑了。 可指定加密次数,经简单变异后的MD5加密算法。 '作用:更加安全,cmd5.com这样的网站破解不了。 '原理:置换了网上流传的md5加密算法...

    经典的MD5加密算法

    在学习MD5加密算法时,理解其内部工作原理和代码实现至关重要。同时,应该了解MD5的局限性和安全性问题,以便在实际应用中做出适当的决策。对于密码存储,更推荐使用SHA-256或更安全的散列函数。在文件完整性校验...

Global site tag (gtag.js) - Google Analytics