精华内容
下载资源
问答
  • 获得文件HASH码(MD5,SHA1,SHA256)

    千次阅读 2019-08-26 05:10:47
    首先CMD,进入文件所在文件夹,输入: certutil -hashfile nengli.mkv MD5 certutil -hashfile nengli.mkvSHA1 certutil -hashfile nengli.mkvSHA256

    首先CMD,进入文件所在文件夹,输入:

    certutil -hashfile nengli.mkv MD5

    certutil -hashfile nengli.mkv SHA1

    certutil -hashfile nengli.mkv SHA256

    展开全文
  • Hashcat破解linux hash密码

    万次阅读 2016-05-24 19:06:58
    0x00:前言学习时获得了/etc/shadow文件,需要尝试...最后看了一遍介绍使用Hashat破解linux登录密码的文章,就记录下来学习心得吧.0x01:来龙去脉00: linux登录密码文件linux系统中有一个用户密码配置文件/etc/shadow,里面

    0x00:前言

    学习时获得了/etc/shadow文件,需要尝试破解linux的登录密码. 但是只是搜索到简单的命令解释和普通的MD5值破解示例,都没有讲清楚来龙去脉,估计好多像我一样的小菜都看得云里雾里.最后看了一遍介绍使用Hashat破解linux登录密码的文章,就记录下来学习心得吧.

    0x01:来龙去脉

    00: linux登录密码文件

    linux系统中有一个用户密码配置文件/etc/shadow,里面存放着用户名,Hash加密后的值,最后一次修改密码的日期(1970年1月1日距今的天数),密码的最小生存周期,最大生存周期等等,具体解释如下:

    1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
    2)“口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
    3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是197011日。
    4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
    5)“最大时间间隔”指的是口令保持有效的最大天数。
    6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
    7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
    8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

    /etc/passwd文件是用户账户配置文件,只保存用户账户的基本信息,并不保存密码信息.

    01:Hash
    建立一个测试用户:test密码:pass的一条完整的/etc/shadow记录实例如下:
    11

    test:$6$f0EotKbw$sLAujh0EleiXNAuoph20iL517cXlcExWLATwz3xgCEyYlsIECUa9nuDdiT5/ntWfJDfxFhYGcMknkCq5Awgf20:15118:0:99999:7:::

    其中

    test 是用户名
    $6$  是表示一种类型标记为6的密码散列suans fa,这里指SHA-512哈希算法.
    f0EotKbw 指的是加盐(Salt)值

    哈希又叫散列,是由散列算法生成的散列值.
    关于Hash的特性:

    原始密码经哈希函数计算后得到一个哈希值;
    改变原始密码,哈希函数计算出的哈希值也会相应改变;
    同样的密码,哈希值也是相同的;
    哈希函数是单向、不可逆的。也就是说从哈希值,你无法推算出原始的密码是多少

    有了哈希函数,就可以将密码的哈希值存储进数据库。用户登录时,检验用户输入密码的哈希值是否与数据库中的哈希值相同来判断是否是合法用户.
    常用的破解方法就是:字典破解,暴力破解,逆向查表,彩虹表.

    然后就有了盐(Salt).
    一个随机生成的字符串。将盐与原始密码连接在一起(放在前面或后面都可以),然后将concat后的字符串加密。采用这种方式加密密码,彩虹表就不灵了(因为盐是随机生成的).
    使用Hashcat破解(hash值比对,查表)linux登录密码时,并不需要一条完整的/etc/shadow记录,要把上面的完整记录削减成如下形式:

    $6$f0EotKbw$sLAujh0EleiXNAuoph20iL517cXlcExWLATwz3xgCEyYlsIECUa9nuDdiT5/ntWfJDfxFhYGcMknkCq5Awgf20

    只留下加密类型,Salt值,hash值就可以了,写成一行保存到文件中.

    02:Hashcat
    Hashcat系列有3个版本,分别是hashcat、 oclhashcat-lite和oclhashcat-plus.
    其中hashcat是利用CPU来暴力破解密码的,支持的算法是最多的,但是相比破解速度很慢。
    oclhashcat-lite和oclhashcat-plus都是利用GPU来破解密码的,破解速度比利用CPU的hashcat快很多倍。
    oclHashcat-plus支持使用GPU破解多个HASH,并且支持的算法高达77种。oclHashcat-lite只支持使用GPU对单个HASH进行破解,支持的HASH种类仅有32种,但是对算法进行了优化,可以达到GPU破解的最高速度。

    0x02:破解
    现在差不多了,可以破解linux的登录密码了,不过要先准备一个密码命中率比较高的字典wordlist.txt.
    有了上面的解释,再根据Hashcat的–help参数解释,就可以用命令了.
    22

    格式如下:

    hashcat -m 1800 -a 0 -o found.txt crack.hash rockyou.txt

    -m参数是告诉hashcat解密的Hash类型,1800则是指SHA-512(Unix)类型密码;
    -a参数是指定攻击模式,0代表Straight模式,使用字典进行破解尝试;
    -o参数是指输出结果文件,输出到found.txt文件中;
    crack.hash是整理后的要破解的hash列表;
    rockyou.txt是准备的密码字典文件.
    过一会发现那个pass密码破解出来了,可是真正想破解的到写完文章时还没破解出来,电脑也变很热了……下次还是试试用GPU的吧~
    33

    Hashcat的具体命令使用方法详解可参考:这篇文章
    英文介绍破解linux密码原文链接:Hashcat

    展开全文
  •   必要时候(没有源码只有cod文件,数字签名后需要修改jad文件里面的sha1码),不安装开发工具,也可以使用openssl手工生成cod文件的SHA1 hash码: openssl sha1 BigCod-1.cod   下面的...

    BlackBerry jad文件里面包括所有cod文件的信息,包括文件名,sha1,大小等。

     

    BlackBerry开发工具在build project的时候自动生成相应的sha1码。

     

    必要时候(没有源码只有cod文件,数字签名后需要修改jad文件里面的sha1码),不安装开发工具,也可以使用openssl手工生成cod文件的SHA1 hash码:
    openssl sha1 BigCod-1.cod

     

    下面的结果就是SHA1 hash码了。

    SHA1(BigCod-1.cod)= 2b44c75a8798b1dfdd0285a6858bdc3695d6920d

     

    展开全文
  • Java计算文件hash

    万次阅读 热门讨论 2017-12-21 14:04:02
    当然是用比较文件hash值的方法,文件hash又叫文件签名,文件中哪怕一个bit位被改变了,文件hash就会不同。 比较常用的文件hash算法有MD5和SHA-1。 我用的是MD5算法,java中,计算MD5可以用MessageDigest这个类。 ...

     

    如何知道一个文件是否改变了呢?当然是用比较文件hash值的方法,文件hash又叫文件签名,文件中哪怕一个bit位被改变了,文件hash就会不同。

    比较常用的文件hash算法有MD5和SHA-1。
    我用的是MD5算法,java中,计算MD5可以用MessageDigest这个类。

     

    下面提供两个工具类(请使用第一个工具类,第二个有问题

     

    第一个工具类:

    代码如下:

    package com.test;  
      
    import java.io.FileInputStream;  
    import java.io.FileNotFoundException;  
    import java.io.InputStream;  
    import java.math.BigInteger;  
    import java.security.MessageDigest;  
      
    public class MD5Util {  
          
        public static void main(String[] args) {  
            try {  
                //此处我测试的是我本机jdk源码文件的MD5值 
            	String filePath = "C:\\Program Files\\Java\\jdk1.7.0_45\\src.zip";
            	
                String md5Hashcode = md5HashCode(filePath);
                String md5Hashcode32 = md5HashCode32(filePath);  
                
                System.out.println(md5Hashcode + ":文件的md5值");  
                System.out.println(md5Hashcode32+":文件32位的md5值"); 
                
                //System.out.println(-100 & 0xff);
            } catch (FileNotFoundException e) {  
                e.printStackTrace();  
            }  
        }  
        
        /**
         * 获取文件的md5值 ,有可能不是32位
         * @param filePath	文件路径
         * @return
         * @throws FileNotFoundException
         */
        public static String md5HashCode(String filePath) throws FileNotFoundException{  
            FileInputStream fis = new FileInputStream(filePath);  
            return md5HashCode(fis);  
        }  
        
        /**
         * 保证文件的MD5值为32位
         * @param filePath	文件路径
         * @return
         * @throws FileNotFoundException
         */
        public static String md5HashCode32(String filePath) throws FileNotFoundException{  
        	FileInputStream fis = new FileInputStream(filePath);  
        	return md5HashCode32(fis);  
        }  
        
        /**
         * java获取文件的md5值  
         * @param fis 输入流
         * @return
         */
        public static String md5HashCode(InputStream fis) {  
            try {  
            	//拿到一个MD5转换器,如果想使用SHA-1或SHA-256,则传入SHA-1,SHA-256  
                MessageDigest md = MessageDigest.getInstance("MD5"); 
                
                //分多次将一个文件读入,对于大型文件而言,比较推荐这种方式,占用内存比较少。
                byte[] buffer = new byte[1024];  
                int length = -1;  
                while ((length = fis.read(buffer, 0, 1024)) != -1) {  
                    md.update(buffer, 0, length);  
                }  
                fis.close();
                //转换并返回包含16个元素字节数组,返回数值范围为-128到127
      			byte[] md5Bytes  = md.digest();
                BigInteger bigInt = new BigInteger(1, md5Bytes);//1代表绝对值 
                return bigInt.toString(16);//转换为16进制
            } catch (Exception e) {  
                e.printStackTrace();  
                return "";  
            }  
        }  
        
        /**
         * java计算文件32位md5值
         * @param fis 输入流
         * @return
         */
      	public static String md5HashCode32(InputStream fis) {
      		try {
      			//拿到一个MD5转换器,如果想使用SHA-1或SHA-256,则传入SHA-1,SHA-256  
      			MessageDigest md = MessageDigest.getInstance("MD5");
      			
      			//分多次将一个文件读入,对于大型文件而言,比较推荐这种方式,占用内存比较少。
      			byte[] buffer = new byte[1024];
      			int length = -1;
      			while ((length = fis.read(buffer, 0, 1024)) != -1) {
      				md.update(buffer, 0, length);
      			}
      			fis.close();
      			
      			//转换并返回包含16个元素字节数组,返回数值范围为-128到127
      			byte[] md5Bytes  = md.digest();
      			StringBuffer hexValue = new StringBuffer();
      			for (int i = 0; i < md5Bytes.length; i++) {
      				int val = ((int) md5Bytes[i]) & 0xff;//解释参见最下方
      				if (val < 16) {
      					/**
      					 * 如果小于16,那么val值的16进制形式必然为一位,
      					 * 因为十进制0,1...9,10,11,12,13,14,15 对应的 16进制为 0,1...9,a,b,c,d,e,f;
      					 * 此处高位补0。
      					 */
      					hexValue.append("0");
      				}
      				//这里借助了Integer类的方法实现16进制的转换 
      				hexValue.append(Integer.toHexString(val));
      			}
      			return hexValue.toString();
      		} catch (Exception e) {
      			e.printStackTrace();
      			return "";
      		}
      	}
      	
      	/**
      	 * 方法md5HashCode32 中     ((int) md5Bytes[i]) & 0xff   操作的解释:
      	 * 在Java语言中涉及到字节byte数组数据的一些操作时,经常看到 byte[i] & 0xff这样的操作,这里就记录总结一下这里包含的意义: 
    	 * 1、0xff是16进制(十进制是255),它默认为整形,二进制位为32位,最低八位是“1111 1111”,其余24位都是0。 
         * 2、&运算: 如果2个bit都是1,则得1,否则得0; 
         * 3、byte[i] & 0xff:首先,这个操作一般都是在将byte数据转成int或者其他整形数据的过程中;使用了这个操作,最终的整形数据只有低8位有数据,其他位数都为0。 
         * 4、这个操作得出的整形数据都是大于等于0并且小于等于255的
      	 */
      
    }  
    

    运行结果如下图:

    第二个工具类:

    结果一定为32位的,具体可看代码,代码如下:

    package com.test;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.nio.ByteBuffer;
    import java.nio.channels.FileChannel;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.Arrays;
    
    /**
     * Md5校验工具类
     */
    public class MD5Util2 {
    
        private static final char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                'a', 'b', 'c', 'd', 'e', 'f'};
        
        public static void main(String[] args) {
        	//此处我测试的是我本机jdk源码文件的MD5值
    		String filePath = "C:\\Program Files\\Java\\jdk1.7.0_45\\src.zip";
    		String md5Hashcode2 = MD5Util2.getFileMD5(new File(filePath));
    		
    		System.out.println("MD5Util2计算文件md5值为:" + md5Hashcode2);
    		System.out.println("MD5Util2计算文件md5值的长度为:" + md5Hashcode2.length());
    	}
    
        /**
         * Get MD5 of a file (lower case)
         * @return empty string if I/O error when get MD5
         */
        public static String getFileMD5( File file) {
    
            FileInputStream in = null;
            try {
                in = new FileInputStream(file);
                FileChannel ch = in.getChannel();
                return MD5(ch.map(FileChannel.MapMode.READ_ONLY, 0, file.length()));
            } catch (FileNotFoundException e) {
                return "";
            } catch (IOException e) {
                return "";
            } finally {
                if (in != null) {
                    try {
                        in.close();
                    } catch (IOException e) {
                        // 关闭流产生的错误一般都可以忽略
                    }
                }
            }
    
        }
    
        /**
         * MD5校验字符串
         * @param s String to be MD5
         * @return 'null' if cannot get MessageDigest
         */
        
        private static String getStringMD5( String s) {
            MessageDigest mdInst;
            try {
                // 获得MD5摘要算法的 MessageDigest 对象
                mdInst = MessageDigest.getInstance("MD5");
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
                return "";
            }
    
            byte[] btInput = s.getBytes();
            // 使用指定的字节更新摘要
            mdInst.update(btInput);
            // 获得密文
            byte[] md = mdInst.digest();
            // 把密文转换成十六进制的字符串形式
            int length = md.length;
            char str[] = new char[length * 2];
            int k = 0;
            for (byte b : md) {
                str[k++] = hexDigits[b >>> 4 & 0xf];
                str[k++] = hexDigits[b & 0xf];
            }
            return new String(str);
        }
    
        
        @SuppressWarnings("unused")
    	private static String getSubStr( String str, int subNu, char replace) {
            int length = str.length();
            if (length > subNu) {
                str = str.substring(length - subNu, length);
            } else if (length < subNu) {
                // NOTE: padding字符填充在字符串的右侧,和服务器的算法是一致的
                str += createPaddingString(subNu - length, replace);
            }
            return str;
        }
    
        
        private static String createPaddingString(int n, char pad) {
            if (n <= 0) {
                return "";
            }
    
            char[] paddingArray = new char[n];
            Arrays.fill(paddingArray, pad);
            return new String(paddingArray);
        }
    
        /**
         * 计算MD5校验
         * @param buffer
         * @return 空串,如果无法获得 MessageDigest实例
         */
        
        private static String MD5(ByteBuffer buffer) {
            String s = "";
            try {
                MessageDigest md = MessageDigest.getInstance("MD5");
                md.update(buffer);
                byte tmp[] = md.digest(); // MD5 的计算结果是一个 128 位的长整数,
                // 用字节表示就是 16 个字节
                char str[] = new char[16 * 2]; // 每个字节用 16 进制表示的话,使用两个字符,
                // 所以表示成 16 进制需要 32 个字符
                int k = 0; // 表示转换结果中对应的字符位置
                for (int i = 0; i < 16; i++) { // 从第一个字节开始,对 MD5 的每一个字节
                    // 转换成 16 进制字符的转换
                    byte byte0 = tmp[i]; // 取第 i 个字节
                    str[k++] = hexDigits[byte0 >>> 4 & 0xf]; // 取字节中高 4 位的数字转换, >>>,
                    // 逻辑右移,将符号位一起右移
                    str[k++] = hexDigits[byte0 & 0xf]; // 取字节中低 4 位的数字转换
                }
                s = new String(str); // 换后的结果转换为字符串
    
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
            }
            return s;
        }
    
    }
    

    运行结果如下图:

     

    两个工具类的对比:

    测试代码如下:

    package com.test;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    
    public class test {
    	public static void main(String[] args) {
    		try {
    			//此处我测试的是我本机jdk源码文件的MD5值
    			String filePath = "C:\\Program Files\\Java\\jdk1.7.0_45\\src.zip";
    			
    			long start = System.currentTimeMillis();
    			String md5Hashcode = MD5Util.md5HashCode(filePath);
    			long end = System.currentTimeMillis();
    			
    			String md5Hashcode2 = MD5Util2.getFileMD5(new File(filePath));
    			long end1 = System.currentTimeMillis();
    			
    			System.out.println("MD5Util 计算文件md5值为:" + md5Hashcode + " --useTime:"+(end-start));
    			System.out.println("MD5Util2计算文件md5值为:" + md5Hashcode2 + " --useTime:"+(end1-end));
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		}
    		
    	}
    }
    

    运行结果如下图:


     

    结论:

    虽然对比用时,感觉使用第二个工具类效率更高!

    但是 NIO的FileChannel 存在一个巨大的BUG使用它会一直不释放文件句柄,即生成MD5的文件不能操作(移动或删除等),这个BUG网上吵得沸沸扬扬,至今没有解决,毕竟是SUN的BUG,解铃还需系铃人啊!所以推荐使用文件分块读取的方法-

    即应该用第一个工具类!

    即应该用第一个工具类!

    即应该用第一个工具类!

     

    番外篇:

    其实还有一个重点,就是如何知道自己生成的MD5值是否正确呢?

    方法很多,其实有一个挺简单的方法,不需要另外安装什么软件。

    使用windows自带的命令即可:certutil -hashfile [文件路径] MD5,

    例子如下:

     

     

     

     

    展开全文
  • 文件HASH值修改

    千次阅读 2018-02-04 13:50:36
    在CSDN上传文件时,提示文件已经存在,可以通过修改hash的方式完成文件上传 http://www.xsnow.moe/2015/10/23/HashModifier/
  • 用java计算文件MD5(文件hash

    千次阅读 2014-01-19 09:40:03
    distributed system的第一个实验需要提供...当然是用比较文件hash值的方法,文件hash又叫文件签名,文件中哪怕一个bit位被改变了,文件hash就会不同。 比较常用的文件hash算法有MD5和SHA-1 public static void main(St
  • 在我们使用 “npm run build” 打包Vue时,会发现文件的js和css等文件前,都会有一段随机码(hash码),给部署时带来一定的困扰 前端打包出来的效果: 打包放到后端,放多几次后,会发现有好几个文件: 虽然...
  • C++ 文件hash值 BT种子的hash值

    千次阅读 2013-10-31 11:10:25
    这个两个东东,是我在网上找到的。小小的修改了一下方便大家使用。 ...文件hash值: http://pan.baidu.com/share/link?shareid=3718436681&uk=3037189616 torrent Hash值: http://pan.
  • 文件hash

    千次阅读 2013-09-10 15:31:04
    Hash,一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间...
  • Windows系统Hash密码值知识

    千次阅读 2016-07-17 12:47:25
    Windows系统中的Hash密码值主要有LM-HASH以及NTLM-HASH值两部分构成,一旦入侵者 获 ... 对入侵者来说,获取Windows的口令是整个攻击过程至关重要的一环,拥有系统原来用户的口令,将使得 内网渗透和守控更加容易...
  • PowerShell is an ...Limitation: Currently, the PowerShell Get-FileHash command not supports to generates hash code for folders or group of files, e.g. Files and folders on one disk.
  • 无聊中,就把hashcat的官方文档稍微翻译了下,方便初学的朋友查看。至于oclhashcat,它是一个离线的hash密码破解工具,与hashcat不同,它支持GPU破解,速度更快,并且支持更多的hash算法! GPU驱动要求:AMD users ...
  • hashcat号称世界上最快的密码破解,世界上第一个和唯一的基于GPGPU规则引擎,免费多GPU(高达128个GPU),多哈希,多操作系统(Linux和Windows本地二进制文件),多平台(OpenCL和CUDA支持),多算法,资源利用率低...
  • 前言 以前校验hash值都是用另外一软件,比如“hash.exe”。今天查了一下,发现windows10的PowerShell命令自带的Get-FileHash命令可以直接用来计算文件的Hash值(MD5、SHA1...校验文件Hash值的命令格式如下: Get-Fi...
  • 如何对文件进行hash

    千次阅读 2019-03-16 09:42:27
    import hashlib def filehash(filename): # 对文件hash算法 # 用sha256方法计算 h = hashlib.sha256() # 将文件按照4096k大小读出, with open(filename, "rb") as f: content = f.read(4096) h.up...
  • 关于HASH码你需要掌握的

    千次阅读 2014-01-12 22:28:35
    hash(音译哈希)主要用于文件校验 验证文件的完整性   哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一...
  • 使用Ophcrack破解系统Hash密码

    万次阅读 2016-07-17 13:56:40
    任何大于7位的密码都被分成以7为单位的几个部分,最后不足7位的密 以0补足7位,然后通过加密运算最终组合成一个hash。所以实际上通过破解软件分解后,LM密码破解的上限就是7位,这使得以今天的PC运算速度在短 时间...
  • 加盐hash保存密码的正确方式

    千次阅读 2015-09-16 14:56:29
    加盐hash保存密码的正确方式 0x00 背景 大多数的web开发者都会遇到设计用户账号系统的需求。账号系统最重要的一个方面就是如何保护用户的密码。一些大公司的用户数据库泄露事件也时有发生,所以我们必须...
  • 使用Hashcat跑Wifi密码

    千次阅读 2019-09-02 14:49:25
    博客地址 Github 将cap文件转码 C:\Users\User\Downloads\hashcat-utils-1.9>...# hashcat-utils-1.9 为hashcat官方工具,github可以下载 # cap2hccapx 转码命令 # my.cap 为 airodump-ng 监听结果文件 # m...
  • 代表每次webpck编译中生成的hash值,所有使用这种方式的文件hash都相同。每次构建都会使用webpack计算新的hash。 chunkhash 基于入口文件entry及其关联的chunk生成,某个文件的改动只会影响与它有关联的chunk的hash...
  • 用Windows自带工具校验hash码

    千次阅读 2018-04-08 17:28:00
    通常情况下载页都会提供checksum(校验),格式常为MD5、SHA1 或SHA256,格式不同是因为采用了不同的算法,因此得到的校验也是不同的。 如果你用的是Windows10,这个系统貌似是自带了一个MD5检测工具,能够...
  • openssl passwd 计算密码hash

    千次阅读 2012-09-17 16:53:12
    openssl passwd> 介绍 ...一个典型的应用是linux密码的存放,linux密码并不是以明文形式存放的,而是将密码的hash值存放在/etc/shadom文件中,当用户登录验证时,linux收到密码,然后计算hash
  • Vue 打包不带 hash码的方法

    千次阅读 2019-12-20 11:50:59
    加500行埋点是不是会占用你一天的时间而且很容易犯错,如果你想只用一小时准确加完这500行埋点剩下一天喝茶聊天来试试这520工具,高效加埋点,目前我们公司100号前端都在用 ... 自己开发所以免费,里面有使用视频 ...
  • hashcat进行rar密码破解可gpu运算

    万次阅读 2019-05-05 02:26:28
    准备 windows os 下载软件 john180j1w.zip: ... hashcat-5.1.0.7z: https://u20096151.ctfile.com/fs/20096151-372227669 软件下载后解压后备用 ...假设我们准备破解的rar文件名为pass.r...
  • 一、Hash基本知识 1.Hash定义 Hash,一般翻译为“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是...
  • C# 文件哈希比较

    千次阅读 2016-09-22 13:31:27
    文件哈希比较,用于更新文件 public static bool CompareFile(string str1, string str2)  {  string p_1 = str1;  string p_2 = str2;  //计算第一个文件的哈希值  var ha
  • Linux 下的密码 Hash破解方法

    千次阅读 2018-07-23 13:56:32
    Linux 下的密码 Hash破解方法   0x00 前言 Linux 系统下,用户的密码会被加密保存在文件/etc/shadow 中,关于密码的加密方式与破解方法有哪些呢?本文尝试对这一部分内容进行整理,介绍相关基础知识,测试常用...
  • 使用hashcat破解Windows账户密码

    千次阅读 2019-10-26 02:46:10
    hashcat简介 Hashcat是自称世界上最快的密码恢复工具。它在2015年之前拥有专有代码库,但现在作为免费软件发布。适用于Linux,OS X和Windows的版本可以使用基于CPU或基于GPU的变体。支持hashcat的散列算法有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 157,045
精华内容 62,818
关键字:

文件hash码