今天在公司一台windows服务器上、需要对两个文件进行比对,笔者首先就想到了可以使用md5校验

但是公司服务器上又不可以随意安装软件,于是笔者想到了可以试试windows自带的powershell中的Get-FileHash

使用方法如下:

Get-FileHash -Algorithm md5  "C:\QQ5201351.txt"
Algorithm Hash Path
--------- ---- ----
MD5 9EEED07B6F0D9CD616905EF45BC27BEE C:\QQ5201351.txt

说明:关于Get-FileHash支持的算法有 MACTripleDES 、MD5、RIPEMD160、SHA1、SHA256、SHA384、SHA512 七种,

注:对于SHA384、SHA512 的结果太长,可能显示不全,可以在后面加上管道 | Format-list

需要特别说明的一点,也是笔者此前没有接触过的【MACTripleDES】算法,

使用这种算法每次计算的结果都不一样,但是却都可以反向计算出原始值的!先记录于此,以后有时间或用到了再研究

关于SHA家族的说明(其中powershell中的-Algorithm只是不支持它们家族中的SHA-224):

SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,
由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布;
是美国的政府标准。后四者有时并称为SHA-2。SHA-1在许多安全协议中广为使用,
包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被视为是MD5(更早之前被广为使用的散列函数)的后继者。
但SHA-1的安全性如今被密码学家严重质疑;虽然至今尚未出现对SHA-2有效的攻击,它的算法跟SHA-1基本上仍然相似;因此有些人开始发展其他替代的散列算法。

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/13630014.html

powershell中使用Get-FileHash计算文件的hash值的更多相关文章

  1. C# 计算文件的 Hash 值

    /// <summary> /// 提供用于计算指定文件哈希值的方法 /// <example>例如计算文件的MD5值: /// <code> /// String ...

  2. 【转】Java计算文件的hash值

    原文地址:http://blog.csdn.net/qq_25646191/article/details/78863110 如何知道一个文件是否改变了呢?当然是用比较文件hash值的方法,文件has ...

  3. 在.NET中计算文件的MD5值

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月2日. 直接上代码吧: using System; using System.IO; using System.Security. ...

  4. C#计算文件的MD5值实例

    C#计算文件的MD5值实例 MD5 是 Message Digest Algorithm 5(信息摘要算法)的缩写,MD5 一种散列(Hash)技术,广泛用于加密.解密.数据签名和数据完整性校验等方面 ...

  5. c#计算文件的MD5值

    代码: /// <summary> /// 计算文件的 MD5 值 /// </summary> /// <param name="fileName" ...

  6. C# 计算文件的HASH

    /// <summary> /// 提供用于计算指定文件哈希值的方法 /// <example>例如计算文件的MD5值: /// <code> /// String ...

  7. 计算文件的MD5值和sha256值

    1.计算文件的MD5值. 1)linux系统计算 MD5值:md5sum+文件名 sha256值:sha256su+文件名 2)windows系统计算 MD5值:利用Notepad++工具计算 sha ...

  8. python计算文件的md5值

    前言 最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可.这个想法在windows的pc端下测试没有问题. 但是当 ...

  9. 计算文件的MD5值(Java & Rust)

    Java public class TestFileMD5 { public final static String[] hexDigits = { "0", "1&qu ...

随机推荐

  1. dpkg:处理 xxx (--configure)时出错解决办法

    1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //现将info文件夹更名2.$ sudo mkdir /var/lib/dpkg/info ...

  2. circos pipeline

    # /usr/bin/env python# coding=utf-8#################################### Author : yunkeli# Version : ...

  3. 如何配置 SSH 密钥连接 Git 仓库

    SSH 是 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:是建立在应用层基础上的安全协议. SSH 是目前较可靠,专为远程登录会话和其 ...

  4. Robot Framework(1)——环境搭建及安装

    一.了解Robot Framework Robot Framework不是一个测试工具,准确来说,它是一个自动化测试框架,或者说它是一个自动化测试平台 特性如下: 1.支持关键字驱动.数据驱动和行为驱 ...

  5. Git clone时出现fatal:the remote end hung up unexpectedly

    以HTTPS方式进行git clone时出现如下错误: 方法1:增大缓存 git config http.postBuffer 524288000 尝试无效: 方法2:配置git的最低速度和最低速度时 ...

  6. 如何用VMD将轨迹文件制作动画(转载)

    转载自:http://blog.sina.com.cn/s/blog_63f794950101dtte.html 很多同学想从dcd(NAMD)或者trr(gromac)文件提取一段轨迹文件做成动画. ...

  7. .NET - Task.Run vs Task.Factory.StartNew

    翻译自 Stephen Toub 2011年10月24日的博文<Task.Run vs Task.Factory.StartNew>,Stephen Toub 是微软并行计算平台团队的首席 ...

  8. Swift Expressible literal

    Swift Expressible Literal 引子 从一个面试题说起.有如下代码: struct Book { let name: String } let book: Book = " ...

  9. JavaScript作用域与对象

    1 - 作用域 1.1 作用域概述 通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域.作用域的使用提高了程序逻辑的局部性,增强了程序的可靠 ...

  10. Javascript逻辑运算认识

    1 - 运算符(操作符) 1.1 运算符的分类 运算符(operator)也被称为操作符,是用于实现赋值.比较和执行算数运算等功能的符号. JavaScript中常用的运算符有: 算数运算符 递增和递 ...