Free Pascal 有办法实现 SHA256 或 SHA512 吗?

问题描述 投票:0回答:4

在 Free Pascal 库中,有一个哈希库,可以使用 MD5 和 SHA1 哈希算法 (http://wiki.freepascal.org/hash)。但如果我想使用更高的算法,例如 SHA256 或 SHA512,该怎么办?我可以使用 Free Pascal 实现这一点吗?搜索 FP Wiki 返回 SHA256\SHA512 的零命中。

freepascal sha256 sha512
4个回答
5
投票

在最近的版本中(比如 2 年左右),有一个带有单位“sha1”和“md5”的包“hash”,实现了一些基本的哈希值和校验和

如果您需要更多,大多数人使用 DCPCrypt,因为它很容易转换

http://www.cityinthesky.co.uk/opensource/dcpcrypt

至少我经常在列表上看到人们正在使用它的帖子


3
投票

在 Google codesearch 中我发现了几个用 pascal 实现它的单元。

查询:sha256 | sha512 郎:帕斯卡

其中一个来源来自Double Commander,它是使用 FreePascal 和 Lazarus 开发的诺顿/总指挥官克隆,所以你就可以了。


1
投票

对于其他哈希,我使用“Delphi Encryption Compendium (DEC) 5.2”。我不知道它是否适用于 FPC,但你应该尝试一下。有

THash_SHA512
THash_SHA256
。 下载地址:http://www.terry.net/pages.php?id=519#939342


0
投票

在 Lazarus 3.2 中,我使用了库 HashLib4Pascal。 SHA512 哈希值可以这样计算:

uses
HlpIHash,HlpHashFactory;

function CalcSha512(const aStrToHash: String): String;
var
IHashCrypt: IHash;
begin 
  IHashCrypt:=THashFactory.TCrypto.CreateSHA2_512();
  Result:=IHashCrypt.ComputeString(aStrToHash,TEncoding.UTF8).ToString();
  //...
  //free up
  //...
end;
© www.soinside.com 2019 - 2024. All rights reserved.