如何使用Delphi哈希字符串?

时间:2020-03-05 18:52:06  来源:igfitidea点击:

如何使用Delphi对字符串进行MD5哈希处理?

解决方案

回答

如果我们想要MD5摘要并安装了Indy组件,则可以执行以下操作:

uses SysUtils, IdGlobal, IdHash, IdHashMessageDigest;

with TIdHashMessageDigest5.Create do
try
    Result := TIdHash128.AsHex(HashValue('Hello, world'));
finally
    Free;
end;

Delphi密码包中支持最受欢迎的算法:

  • 哈瓦尔
  • MD4,MD5
  • 成熟的MD-128,成熟的MD-160
  • SHA-1,SHA-256,SHA-384,SHA-512,
  • 老虎

更新
" DCPCrypt"现在由Warren Postma维护,可以在此处找到源。

回答

我们还可以将WindowsCrypto API与Delphi结合使用:

  • 常规Crypto&Hash演示和资源

那里有一个包装所有CryptoAPI的单元。我们还可以使用Lockbox(现已开放源代码)。

最后,我们可以使用Delphi支持几乎所有的Hash算法。 Indy示例可能是我们在Delphi中最接近本机的示例,因为大多数版本的Delphi中都包含Indy。对于其余的内容,我们将需要使用库或者编写更多代码来访问CryptoAPI或者自己实现。

回答

我通常使用David Barton(天空之城)的DCPCrypt2(Delphi密码软件包)。

它还包含以下加密算法:

  • 河豚
  • 演员表128
  • 演员256
  • DES,3DES
  • 冰,薄冰,冰2
  • 主意
  • 火星
  • 迷雾1
  • RC2,RC4,RC5,RC6
  • Rijndael(新的AES)
  • fish鱼

更新
" DCPCrypt"现在由沃伦·波斯特马(Warren Postma)维护,可在此处找到源。