使用delphi计算文件或字符串的md5哈希

MD5消息摘要算法是一个加密哈希函数。MD5通常用于检查文件的完整性,例如确保文件未被更改。...

MD5消息摘要算法是一个加密哈希函数。MD5通常用于检查文件的完整性,例如确保文件未被更改。

Young Asian businesswoman working on laptop in board room Young Asian businesswoman working on laptop in board room

其中一个例子是在线下载程序时。如果软件分发服务器给出了文件的MD5散列,您可以使用Delphi生成散列,然后比较这两个值以确保它们相同。如果它们不同,则表示您下载的文件不是您从网站请求的文件,因此可能是恶意文件。

MD5哈希值的长度为128位,但通常以其32位十六进制值读取。

使用delphi查找md5哈希

使用Delphi,您可以轻松创建一个函数来计算任何给定文件的MD5哈希。您所需要的是IdHashMessageDigest和idHash这两个单元,它们都是Indy的一部分。

以下是源代码:

uses IdHashMessageDigest, idHash; //returns MD5 has for a file function MD5(const fileName : string) : string; var idmd5 : TIdHashMessageDigest5; fs : TFileStream; hash : T4x4LongWordRecord; begin idmd5 := TIdHashMessageDigest5.Create; fs := TFileStream.Create(fileName, fmOpenRead OR fmShareDenyWrite) ; try result := idmd5.AsHex(idmd5.HashValue(fs)) ; finally fs.Free; idmd5.Free; end; end;

生成md5校验和的其他方法

除了使用Delphi之外,还有其他方法可以找到文件的MD5校验和。一种方法是使用Microsoft文件校验和完整性验证器。这是一个只能在Windows操作系统上使用的免费程序。

MD5哈希生成器是一个做类似事情的网站,但它不是生成文件的MD5校验和,而是从输入框中输入的任何字母、符号或数字字符串生成。

  • 发表于 2021-10-13 10:25
  • 阅读 ( 152 )
  • 分类:数学

你可能感兴趣的文章

破解密码最常用的8个技巧

... 保持安全:再次强调,只使用由随机字符串组成的强大的一次性密码——不要链接到您的角色、业务、组织等。 ...

  • 发布于 2021-03-12 16:50
  • 阅读 ( 340 )

6个免费的哈希检查程序来检查任何文件的完整性

...拖放单个文件或整个文件夹进行哈希运算,也可以为文本字符串生成哈希。 ...

  • 发布于 2021-03-19 07:54
  • 阅读 ( 335 )

11个基本的加密术语现在大家都应该知道了

... 密文是加密过程的结果。加密的明文显然是随机的字符串,使它们毫无用处。密码是指转换明文的加密算法的另一种方式,因此称为密文。 ...

  • 发布于 2021-03-30 14:49
  • 阅读 ( 283 )

什么是校验和(为什么要在意)?

...个加密哈希函数,该函数接受输入并生成一个固定长度的字符串(一系列数字和字母)。输入文件可以是一个小的1MB文件,也可以是一个大的4GB文件,但无论哪种方式,最终都会得到相同长度的校验和。校验和也可以称为“哈希...

  • 发布于 2021-04-05 00:34
  • 阅读 ( 194 )

什么东西碎了?sha-1碰撞攻击,解释道

...也会返回一个长而固定的字符数,这使得(可能)无法将字符串恢复为原始数据。密码存储通常就是这样工作的。当您创建密码时,您的密码输入将被散列并由服务器存储。当您返回时,当您输入密码时,它会再次散列。如果它...

  • 发布于 2021-04-08 06:40
  • 阅读 ( 136 )

什么是md5、sha-1和sha-256哈希,如何检查它们?

...网旅行下载,但不知道他们是什么。这些看似随机的文本字符串允许您验证下载的文件是否已损坏或被篡改。您可以使用Windows、macOS和Linux中内置的命令来实现这一点。 散列如何工作,以及它们如何用于数据验证 哈希是密码算...

  • 发布于 2021-04-08 07:37
  • 阅读 ( 296 )

shell脚本编写初学者指南4:条件&if-then语句

...会发生。 计算领域的条件也是如此。我们可以测试一个字符串是否匹配另一个字符串,它是否不匹配另一个字符串,甚至它是否存在。类似地,我们可以测试数值参数,看一个参数是否大于、小于或等于另一个参数。为了在满...

  • 发布于 2021-04-12 20:28
  • 阅读 ( 180 )

您的密码是如何存储在互联网上的(以及何时您的密码强度无关紧要)

...人,使用一个特殊的密钥把你的密码变成一个随机的文本字符串。如果一个黑客得到了这个随机的文本字符串,他们将无法登录到你的帐户,除非他们也有密钥,然后他们可以用它来解密。问题是,密钥通常存储在与密码完全相...

  • 发布于 2021-05-26 07:29
  • 阅读 ( 148 )

沙(sha)和md5型(md5)的区别

...应用程序。它是一种加密哈希算法,可用于从任意长度的字符串创建128位字符串值。尽管存在安全漏洞,但它仍被广泛使用和部署,主要用于验证文件的完整性。MD5基于它的前身MD4算法。主要的算法本身是基于一个对块进行操作...

  • 发布于 2021-06-26 03:37
  • 阅读 ( 226 )

散列(hashing)和加密(encryption)的区别

...(hashing)? 哈希是一种数学运算,它将数据转换为从文本字符串生成的唯一数字。输出称为消息摘要或哈希。可以对任何数据段执行哈希运算。输入数据可以有任意长度,但输出总是固定的。在散列中,数据经过散列算法并提供...

  • 发布于 2021-07-01 01:39
  • 阅读 ( 594 )
qmezms3679
qmezms3679

0 篇文章

相关推荐