精华内容
下载资源
问答
  • 计算文件哈希值

    千次阅读 2018-12-10 08:39:00
    什么是哈希值? 哈希值(hash values)是使用哈希函数(hash function)计算得到的值。哈希函数是是一种从任何一种数据中创建小的数字“指纹”的方法。...如何计算文件的哈希值? windows win+r快捷键输入powershe...

    什么是哈希值?

    哈希值(hash values)是使用哈希函数(hash function)计算得到的值。哈希函数是是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。就是根据数据内容计算得到相应的"摘要",根据这个摘要可以区分该数据与其他数据。

    如何计算文件的哈希值?

    windows

    win+r快捷键输入powershell确认,打开Powershell。
    我们利用powershell先创建两个文件,再计算其hash值作为对比

    echo "helloworld" > test1.txt
    echo "helloWorld" > test.txt
    Get-Content .\test.txt、
    Get-Content .\test1.txt
    Get-FileHash .\test.txt
    Get-FileHash .\test1.txt
    

    结果如下所示,test.txt和test1.txt中只有一个w和W的区别,但是采用SHA256算法计算得到的哈希值却大不相同。

    5656674-e5b7e378a67dc3c2.png

    hash

    Get-FileHash是powershell的一个cmdlet,它根据输入的文件名和给定的算法计算文件的哈希值(默认为sha256)。
    使用格式如下:

    Get-FileHash   文件名 -Algorithm 算法名
    

    支持的算法如下:

    MACTripleDES、MD5、RIPEMD160、SHA1、SHA256、SHA384、SHA512

    为了显示的内容更适合观察,我们可以通过管道使用Format-List

     Get-FileHash .\test.txt -Algorithm SHA512 | Format-List
    

    5656674-09ec1a5b53dd68fd.png

    Get-FileHash

    linux

    在linux下可以使用以下命令计算

    md5sum
    sha1sum       
    sha256sum     
    sha512sum    
    shasum        
    sha224sum     
    sha384sum
    
    展开全文
  • I'm using this code to calculate hash value for a file:m = hashlib.md5()with open("calculator.pdf", 'rb') as fh:while True:data = fh.read(8192)if not data:breakm.update(data)hash_value = m.hexdigest()...

    I'm using this code to calculate hash value for a file:

    m = hashlib.md5()

    with open("calculator.pdf", 'rb') as fh:

    while True:

    data = fh.read(8192)

    if not data:

    break

    m.update(data)

    hash_value = m.hexdigest()

    print hash_value

    when I tried it on a folder "folder"I got

    IOError: [Errno 13] Permission denied: folder

    How could I calculate the hash value for a folder ?

    解决方案

    This Recipe provides a nice function to do what you are asking. I've modified it to use the MD5 hash, instead of the SHA1, as your original question asks

    def GetHashofDirs(directory, verbose=0):

    import hashlib, os

    SHAhash = hashlib.md5()

    if not os.path.exists (directory):

    return -1

    try:

    for root, dirs, files in os.walk(directory):

    for names in files:

    if verbose == 1:

    print 'Hashing', names

    filepath = os.path.join(root,names)

    try:

    f1 = open(filepath, 'rb')

    except:

    # You can't open the file for some reason

    f1.close()

    continue

    while 1:

    # Read file in as little chunks

    buf = f1.read(4096)

    if not buf : break

    SHAhash.update(hashlib.md5(buf).hexdigest())

    f1.close()

    except:

    import traceback

    # Print the stack traceback

    traceback.print_exc()

    return -2

    return SHAhash.hexdigest()

    You can use it like this:

    print GetHashofDirs('folder_to_hash', 1)

    The output looks like this, as it hashes each file:

    ...

    Hashing file1.cache

    Hashing text.txt

    Hashing library.dll

    Hashing vsfile.pdb

    Hashing prog.cs

    5be45c5a67810b53146eaddcae08a809

    The returned value from this function call comes back as the hash. In this case, 5be45c5a67810b53146eaddcae08a809

    展开全文
  • win10如何校验文件哈希值

    千次阅读 2019-04-23 10:38:06
    文件的哈希值可以用软件计算(算法一样),无须多讲。 本文讲述如何用win10自带命令计算 ——————————————————————— 右击开始 点击windows powershall(管理员) 右击想要...

    转自:https://jingyan.baidu.com/article/67662997a9b06654d51b84a1.html

     

    1. 文件的哈希值可以用软件计算(算法一样),无须多讲。

      本文讲述如何用win10自带命令计算

      ———————————————————————

      右击开始

      点击windows powershall(管理员)

      win10如何校验文件哈希值

    2. 右击想要校验哈希值的文件

      点击属性

      win10如何校验文件哈希值

    3. 复制(Ctrl+C)文件属性地址中的位置

      win10如何校验文件哈希值

    4. 以下为命令的格式:

      Get-FileHash 校验文件路径 -Algorithm 校验Hash值类型| Format-List

      ————————

      例:笔者校验桌面的文件的md5值

      输入Get-FileHash C:\Users\……\Desktop\Hash.reg -Algorithm md5| Format-List

      注意:文件路径要带上文件名和扩展名。即复制粘贴后还有添加文件全名!

      win10如何校验文件哈希值

    5. 哈希值常见类型中crc32是windows命令不支持的

      例如:笔者输入:

      Get-FileHash C:\Users\……\Desktop\Hash.reg -Algorithm crc32| Format-List

      报错,同时指出了命令支持的哈希值类型

      SHA1,SHA256,SHA384,

      SHA512,MACTripleDES,MD5,RIPEMD160

      win10如何校验文件哈希值

    6. 另外,单纯使用命令太麻烦了,我们可以将命令导入注册表右键菜单,右击文件即可测试任何支持的哈希值类型!

      下面介绍如何导入命令到右键菜单。

      右击桌面

      新建文本文档

      win10如何校验文件哈希值

      win10如何校验文件哈希值

    7. 在文档中输入以下内容保存:

      Windows Registry Editor Version 5.00

       

      [HKEY_CLASSES_ROOT\*\shell\文件哈希校验]

       

      "SubCommands"="MACTripleDES;MD5;RIPEMD160;SHA1;SHA256;SHA384;SHA512"

       

      "MUIVerb"="文件哈希校验"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MACTripleDES]

       

      @="MACTripleDES"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MACTripleDES\command]

       

      @="PowerShell Get-FileHash -Algorithm MACTripleDES \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD5]

       

      @="MD5"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD5\command]

       

      @="PowerShell Get-FileHash -Algorithm MD5 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\RIPEMD160]

       

      @="RIPEMD160"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\RIPEMD160\command]

       

      @="PowerShell Get-FileHash -Algorithm RIPEMD160 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA1]

       

      @="SHA1"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA1\command]

       

      @="PowerShell Get-FileHash -Algorithm SHA1 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA256]

       

      @="SHA256"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA256\command]

       

      @="PowerShell Get-FileHash -Algorithm SHA256 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA384]

       

      @="SHA384"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA384\command]

       

      @="PowerShell Get-FileHash -Algorithm SHA384 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA512]

       

      @="SHA512"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA512\command]

       

      @="PowerShell Get-FileHash -Algorithm SHA512 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

      win10如何校验文件哈希值

    8. 如果只用到sha1和md5

      可以输入下面内容(简化后的)

      Windows Registry Editor Version 5.00

       

      [HKEY_CLASSES_ROOT\*\shell\文件哈希校验]

       

      "SubCommands"="MD5;SHA1"

       

      "MUIVerb"="文件哈希校验"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MACTripleDES]

       

      @="MD5"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD5\command]

       

      @="PowerShell Get-FileHash -Algorithm MD5 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\RIPEMD160]

       

      @="SHA1"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA1\command]

       

      @="PowerShell Get-FileHash -Algorithm SHA1 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

       

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA256]

      win10如何校验文件哈希值

    9. 修改文本文档后缀名为.reg格式

      显示后缀名可以在此电脑查看选项卡中勾选

      win10如何校验文件哈希值

      win10如何校验文件哈希值

    10. 双击reg文件导入即可

      右击文件即可测试哈希值

      win10如何校验文件哈希值

    展开全文
  • 如何在Python中计算文件的MD5哈希 MD5是一种消息摘要算法,用于从可变输入数据中创建唯一的固定大小值。MD5通常用于检查文件在传输过程中是否损坏(在这种情况下,哈希值称为校验和)。文件中的任何更改都将导致不同...

    本文是对这篇文章的翻译:如何在Python中计算文件的MD5哈希

    MD5是一种消息摘要算法,用于从可变输入数据中创建唯一的固定大小值。MD5通常用于检查文件在传输过程中是否损坏(在这种情况下,哈希值称为校验和)。文件中的任何更改都将导致不同的MD5哈希值。

    以下Python程序计算给定文件的MD5哈希值。计算出的128位MD5哈希将转换为可读的十六进制形式。

    Python程序生成文件的MD5哈希值

    import hashlib
     
    filename = input("Enter the file name: ")
    with open(filename,"rb") as f:
        bytes = f.read() # read file as bytes
        readable_hash = hashlib.md5(bytes).hexdigest();
        print(readable_hash)
    

    请注意,由于我们在计算MD5哈希值之前将整个文件读取到内存中,因此上述程序对于大型输入文件可能会失败。以下python程序是经过改进的版本,能够处理大文件

    Python程序生成大文件的MD5哈希值

    import hashlib
     
    filename = input("Enter the file name: ")
    md5_hash = hashlib.md5()
    with open(filename,"rb") as f:
        # Read and update hash in chunks of 4K
        for byte_block in iter(lambda: f.read(4096),b""):
            md5_hash.update(byte_block)
        print(md5_hash.hexdigest())
    这是上面的程序是动作,
    
    python3 md5hash2.py
    输入文件名:md5hash2.py
    0101ae2ac06b8a52154100e37d8bafea
    
    展开全文
  • 如果你想知道在EOS上部署了什么版本智能合约,你需要查看代码哈希。我们将看到如何计算代码和ABI哈希,并编写一个函数,...因此,通过查看setcode实现,我们可以从WASM文件看到如何计算哈希值。 void apply_eosio...
  • 探索 Python 3 加密技术本文讲是探索 Python 3 加密技术,Python 3 没有太多用于处理加密标准库,通常以哈希库作为替代。在本章节中我们将简单了解一下hashlib,但重点还是集中在两个第三方库:PyCrypto 和 ...
  • MD5是一种常见的哈希算法,不论原始信息长度如何,总是计算得到一个固定长度的二进制串。该算法对原文的改动非常敏感,也就是说,原文哪怕只做非常微小的改动,重新计算得到的MD5会有巨大的变化。因此,该算法常用于...
  • MD5是一种常见的哈希算法,不论原始信息长度如何,总是计算得到一个固定长度的二进制串。该算法对原文的改动非常敏感,也就是说,原文哪怕只做非常微小的改动,重新计算得到的MD5会有巨大的变化。因此,该算法常用于...
  • linux计算文件的MD5 与 SHA1

    万次阅读 2011-10-24 19:11:05
    MD5 与 SHA1 是当前最常用的两种哈希算法,主要用来检测下载文件的正确性,计算你下载文件的哈希值,如果和官方公布的哈希值相同,那么可以确定你的下载是正确的。  在 Linux 下如何计算这两种哈希值呢,基本上...
  • SHA1 Hashe SHA1哈希SHA1...下面是如何在Go计算sha1哈希值。Go在各种crypto/*包中实现了一些哈希函数。生成哈希值的步骤是sha1.New()、sha1.Write([]byte()),然后是sha1.Sum([]byte{})。这里从一个新的哈希对象开始...
  • 分片上传好处:可以断点续传,针对较大文件传输有明显好处,以免中途传输中断还需从头开始,借助哈希算法计算每片文件的哈希值,最后计算单个文件的哈希值。 实现 基础知识:关键是哈希算法和HTML5的FileReader对象...
  • 模糊哈希主要原理是,使用一个弱哈希计算文件局部内容,在特定条件下对文件进行分片,然后使用一个强哈希对文件每片计算哈希值,取这些值一部分并连接起来,与分片条件一起构成一个模糊哈希结果。使用一个字符串...
  • 利用你的密码生成一个密钥,上图用的是scrypt算法,scrypt算法有一些参数,其中 salt 是一段随机的盐,dk_len 是输出的哈希值的长度。n 是 CPU/Memory 开销值,越高的开销值,计算就越困难。r 表示块大小,p 表示...
  • 现在 Go 1.16 Beta 已经发布,离正式版发布不远了,在 GitHub 发现了一个库,它实现了 io/fs.FS 接口,它能够计算文件的 SHA256 哈希值并附加到文件名中以允许进行 HTTP Cache:即控制静态文件的版本。本...
  • 解决方案:通过哈希算法对客户端IP或会话ID计算哈希值,将取得的哈希值与服务器列表的大小进行取模运算,最终得到的值就是应该被路由到的服务器编号。这样,就可以把同一个IP过来的请求都路由到同一个后端服务器上。...
  • #include #include using namespace std; /* 问题:给定100亿个网址,如何... 可以根据给定的URL按照哈希算法(比如两次哈希)计算出URL的哈希值H, 分组+位图的方式只能用于每个元素只出现一次。 100亿 = 100
  • 我遇到的问题是我尝试将整个文件加载到内存中以查看两个方法是否产生相同的哈希值.然而,它们似乎产生了不同的哈希这是一点一滴的代码:FileInputStream fis = new FileInputStream("sbs.dat")...
  • 首先,源介质可以用终端的命令md5sum /dev/磁盘名 ,而复制后的目标介质可以使用Encase这样的取证工具,可以直接计算磁盘的哈希值,而且可以选择一部分去计算,非常方便使用,但是对于磁盘这样的大文件,哈希计算是...
  • SHA1和MD5加密算法对文件加密

    千次阅读 2013-11-08 10:29:58
    Sha1和MD5算法多用于对下载文件进行检验,对计算出来的哈希值与公布的哈希值对比对,相同,则表明文件下载正确。 在 Linux 下如何计算这两种哈希值呢,基本上所有的 Linux 发行版都内置了这两个命令,比如要校检的...
  • IPFS通过加密算法为每一个文件计算出一个独一无二的哈希值,这类似于一个独特的文件指纹,IPFS...由于文件的哈希值是独一无二且无法倒推的用户只需对比文件的哈希值就能知道文件是否被篡改确保获取文件的真实性。 ...
  • 我使用哈希函数来计算各种文件的哈希值。这是代码,但我得到的名称错误“选项”没有定义。我想我不会这么做的好吧。随便建议?我在代码中使用了之前的选项,所以有什么问题?在#!/usr/bin/pythonimport sysimport ...
  •  哈希表最重要无非就这几样东西,一个是哈希函数性能和计算散列值的分布情况,另外一个是如何处理冲突,最后一个是当负载率越来越高导致性能下降时候,如何重构哈希表。现在对哈希函数研究
  • Merkle Tree与区块链

    万次阅读 2017-07-06 14:02:59
    什么是merkle tree假设你已经知道了什么是哈希算法以及哈希是用来干啥的。...但是当文件很大的时候,往往需要把文件拆分很多的数据块各自传输,这个时候就需要知道每个数据块的哈希值。怎么办呢?这种情况,
  • 虽然现在很多朋友对IPFS的基本概念有了一定的了解,也知道了一些实际的应用,但是对于IPFS的到底是如何的工作的还是一知半解,那我们今天...第三,文件的哈希值并不容易记住,那么便会造成传播困难,这时IPFS利用IPNS将
  • Linux上计算MD5和SHA1

    千次阅读 2008-02-04 18:16:00
    最近中美网络带宽很差,又要通过两边防火墙,导致FTP上传软件包总是传不过去或者传得不... 在Linux下如何计算这两种哈希值呢,基本上所有 Linux 发行版都内置了这两个命令,比如要校检的文件命为JAVA_142.tar:
  • 由于操作系统在加载时按预期方式修改了运行中的内存,因此无法预先计算必要的哈希值以认证这些系统。 预先计算页面哈希值是浪费时间(并非总是如此),通常会浪费时间进行系统完整性验证。 可以在本地与公共服务器...
  • ipfs如何分片存储

    2021-03-01 11:51:28
    然后把所有的分片的哈希值拼接之后在计算得到该文件哈希。 每个 IPFS 节点都会保存一张分布式的哈希表(DHT),包含数据块与目标节点的映射关系。无论哪个节点新增了数据,都会同步更新 DHT。 其中黑线...
  • HashTab v6.0.0.28.zip

    2019-07-14 19:57:15
    软件最主要的功能是在资源管理器的文件属性窗口中添加了一个叫做“文件校验”的标签,这个标签可以帮助用户方便地计算文件的 MD5、SHA1 与 CRC-32 哈希值。如果您对目前的查看哈希值方面还是不太理解如何实现,不妨...
  • 安全问题一直伴随着互联网成长,如何有效地保护应用程序数据是每一个开发者都应该考虑和努力事情。这篇文章介绍Android平台上常用加密方式之MD5加密。 MD5 MD5即Message-Digest Algorithm 5(信息-摘要算法5...

空空如也

空空如也

1 2 3 4
收藏数 68
精华内容 27
关键字:

如何计算文件的哈希值