`
kfc_davy
  • 浏览: 182538 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

遍历md5的小方法

    博客分类:
  • java
 
阅读更多
public class Test{


    private static final char[] x = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
        'e', 'f' };
    
    
    static MessageDigest d;
    public static void main(String[] args) throws NoSuchAlgorithmException {
        d = MessageDigest.getInstance("MD5");

        
        
        for(int i=0;i<10;i++){
            loop(i+1,"");
        }
        
        //
    }
    
    private static void loop(int i,String s){
        if(i>0){
            for(int k=0;k<x.length;k++){
                loop(i-1,s+x[k]);
            }
        }else{
//            System.out.println(s+"!");
            check(s);
        }
    }
    private static void check(String s){
        d.reset();
        String ta = s;
        d.update((ta).getBytes());
        byte b[] = d.digest();
        
//        System.out.println(bytesToHexStr(b));
        if(bytesToHexStr(b).equals("F7A5C99C58103F6B65C451EFD0F81826")){
            System.out.println(ta);
        }
    }

    private static String bytesToHexStr(byte[] bcd) {

        StringBuffer s = new StringBuffer(bcd.length * 2);

        for (int i = 0; i < bcd.length; i++) {
            s.append(bcdLookup[(bcd[i] >>> 4) & 0x0f]);
            s.append(bcdLookup[bcd[i] & 0x0f]);
        }

        return s.toString();
    }

    private static final char[] bcdLookup = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D',
            'E', 'F' };

}
分享到:
评论

相关推荐

    遍历一个文件夹并生成所有文件的MD5

    标题中的“遍历一个文件夹并生成所有文件的MD5”是一个实用的操作,通常用于批量检查文件的完整性。在Python编程语言中,我们可以利用os库和hashlib库来实现这个功能。os库用于遍历文件夹,而hashlib库则提供了MD5...

    C#遍历文件夹下所有文件通过MD5函数计算文件的MD5

    首先,我们需要引用System.IO和System.Security.Cryptography命名空间,这两个命名空间包含了遍历文件和计算MD5所需的方法和类。下面是一个简单的C#方法,用于遍历指定文件夹及其子文件夹,并计算每个文件的MD5: `...

    遍历文件MD5码

    在Java中,遍历所有大于1MB文件并计算它们的MD5码是一项常见的任务,这有助于确保文件完整性或比较文件是否相同。然而,当处理大量大文件时,性能问题就可能出现。由于Java的InputStream默认的read方法限制,如果...

    遍历检查文件夹所有文件list及MD5 check sum

    在VB.NET编程环境中,我们经常需要遍历一个文件夹及其子文件夹来获取所有文件的列表,并对这些文件进行一些处理,比如计算它们的MD5校验和。MD5(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,可以...

    使用MD5进行加密的使用方法和程序

    `MD5`类定义了一些基本的方法和属性,如`ComputeHash`方法,用于计算输入数据的哈希值。由于MD5算法是抽象的,所以你需要使用它的具体实现,如`System.Security.Cryptography.MD5CryptoServiceProvider`,来实际执行...

    md5加密方法

    ### MD5加密方法详解 #### 一、MD5简介 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,它能够将任意长度的数据转换成一个固定长度(通常是128位或16字节)的十六进制字符串。这种转换过程是不可逆的...

    二叉树的层序遍历.md

    二叉树的层序遍历.md

    二叉树的后序遍历.md

    二叉树的后序遍历.md

    二叉树的中序遍历.md

    二叉树的中序遍历.md

    二叉树的前序遍历.md

    二叉树的前序遍历.md

    计算文件夹下所有文件的MD5值

    这个脚本在非递归模式下遍历指定目录,对每个文件进行MD5哈希计算,并将结果保存到文件中,以便后续比较和验证。虽然MD5已不再被视为安全的哈希算法,但在很多场景下,它仍然能满足数据完整性检查的需求。

    DS_Doc_5_3_图的遍历.md

    DS_Doc_5_3_图的遍历.md

    JAVA_对文件MD5加密

    2. **定义类和方法**:创建`ZgjGetMD5`类,并在其中定义了`getMD5`方法用于生成文件的MD5摘要,以及辅助方法`byteToHexString`用于将字节数组转换为十六进制字符串表示形式。 3. **生成MD5摘要**: - 使用`...

    Map集合的遍历.md

    本篇文章将详细介绍如何遍历`Map`集合,并提供两种不同的遍历方法。 #### 二、Map集合遍历方法 ##### 2.1 通过Map的keySet方法遍历 第一种遍历方式是通过`Map`的`keySet()`方法来获取所有键的集合,然后遍历这个...

    二叉树的锯齿形层序遍历.md

    二叉树的锯齿形层序遍历.md

    Unity Md5更新版本值设置

    在“Unity Md5更新版本值设置”中,开发者可能会编写一个脚本或者利用第三方工具(如“File_Md5_Generator-master”),自动遍历项目中的所有文件,计算它们的MD5值,并将这些值存储在一个文本文件或数据库中。...

    一个用C#写的批量更改图片md5的代码,可以自动遍历目录及子目录的所有图片文件,并更改其md5,用vs2015写的

    它使用递归算法遍历指定目录,对找到的每一个图像文件进行MD5值的计算和替换。对于开发者来说,这不仅是一个实用的脚本,也是一个学习C#编程,特别是文件操作和MD5哈希计算的好例子。通过研究和理解这段代码,可以...

    MD5工具类(可设置编码和指定长度)

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要应用于数据的校验和加密。在Java中,MD5通常用于生成一个固定长度的128位(16字节)的数字摘要,这个摘要以32位的十六进制数表示。这个过程是不...

    md5中使用MD5加密算法进行加密

    - 最后,遍历`md`数组,将每个字节转换成两个十六进制字符,形成最终的MD5字符串。 3. **主方法测试**: ```java public static void main(String[] args) { System.out.print(MD5_Test.MD5("XX")); } ``` -...

    md5文件生成工具

    5. 工具实现原理:这类工具通常会遍历指定文件夹,读取每个文件的内容,然后通过MD5算法计算出对应的哈希值。这些值会以列表或表格形式展示出来,有时还会保存成文本文件,以便后续查阅。 6. 开源项目:从压缩包...

Global site tag (gtag.js) - Google Analytics