PDFium Delphi Component 文件

FPdfSha512 单元

单元: FPdfSha512
纯 Pascal 实现的 SHA-512 与 SHA-384,共用一种上下文类型,带有增量式的 init/update/final 以及一次性字节数组辅助函数

语法

TSha512Digest = array[0..63] of Byte;
TSha384Digest = array[0..47] of Byte;

TSha512Context = record
  State: array[0..7] of UInt64;
  CountLo: UInt64;
  CountHi: UInt64;
  Buffer: array[0..127] of Byte;
  BufLen: Integer;
  Is384: Boolean;
end;

procedure Sha512Init(out Ctx: TSha512Context);
procedure Sha384Init(out Ctx: TSha512Context);
procedure Sha512Update(var Ctx: TSha512Context; const Buf; BufLen: Integer);
procedure Sha512Final(var Ctx: TSha512Context; out Digest: TSha512Digest);
procedure Sha384Final(var Ctx: TSha512Context; out Digest: TSha384Digest);
function Sha512Bytes(const B: TBytes): TSha512Digest;
function Sha384Bytes(const B: TBytes): TSha384Digest;

说明

FPdfSha512 在一个共享的 64 位字上下文之上实现了 SHA-512 与 SHA-384 哈希函数。当通过 Sha384Init 初始化时,上下文中的 Is384 标志会选择截断的 SHA-384 变体

增量 API 与 FPdfSha256 对应:初始化一个上下文,用 Sha512Update 喂入缓冲区,并终结为 64 字节的 SHA-512 摘要或 48 字节的 SHA-384 摘要。Sha512BytesSha384Bytes 是针对字节数组的一次性辅助函数

函数

FunctionDescription
Sha512Init初始化一个 SHA-512 上下文
Sha384Init初始化一个 SHA-384 上下文(设置内部的 Is384 标志)
Sha512Update向已打开的 SHA-512 或 SHA-384 上下文喂入一个无类型缓冲区
Sha512Final终结一个 SHA-512 上下文并返回 64 字节摘要
Sha384Final终结一个 SHA-384 上下文并返回 48 字节摘要
Sha512Bytes对字节数组进行一次性 SHA-512 哈希
Sha384Bytes对字节数组进行一次性 SHA-384 哈希

类型

TypeDescription
TSha512Digest64 字节的 SHA-512 摘要
TSha384Digest48 字节的 SHA-384 摘要
TSha512ContextSHA-512 与 SHA-384 共享的增量上下文

备注

参见

FPdfSha256