如何使用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)维护,可在此处找到源。