Encoding

Encoding & Hashing

HashAlgo

type HashAlgo = enum(SHA1, SHA256, SHA384, SHA512, MD5);

Note

This enum is scoped, so must be used like HashAlgo.SHA512


BaseEncoding

type BaseEncoding = enum(b64URL, b64, b32, b32Hex, b16);

Note

This enum is scoped, so must be used like BaseEncoding.b64


HashData

function HashData(Algo: HashAlgo; Buf: PByte; Len: Int32): String;

HashString

function HashString(Algo: HashAlgo; S: String): String;

HashFile

function HashFile(Algo: HashAlgo; FileName: String): String;

Hash32

function Hash32(Data: Pointer; Len: Int32; Seed: UInt32 = 0): UInt32;

Hash32

function Hash32(S: String; Seed: UInt32 = 0): UInt32;

Hash64

function Hash64(Data: PByte; Len: Int32; Seed: UInt64 = 0): UInt64;

Hash64

function Hash64(S: String; Seed: UInt64 = 0): UInt64;

BaseEncode

function BaseEncode(Encoding: BaseEncoding; const Data: String): String;

BaseDecode

function BaseDecode(Encoding: BaseEncoding; const Data: String): String;

HOTPCalculateToken

function HOTPCalculateToken(const Secret: String; const Counter: Integer): Integer;

TOTPCalculateToken

function TOTPCalculateToken(const Secret: String): Integer;

CompressBytes

function CompressBytes(Bytes: TByteArray): TByteArray;

Note

Zlib compression is used.


DecompressBytes

function DecompressBytes(Bytes: TByteArray): TByteArray;

Note

Zlib compression is used.


CompressString

function CompressString(Data: String; Encoding: BaseEncoding = BaseEncoding.b64): String;

Note

Zlib compression is used.


DecompressBytes

function DeCompressString(Data: String; Encoding: BaseEncoding = BaseEncoding.b64): String;

Note

Zlib compression is used.


SynLZCompress

function SynLZCompress(Src: Pointer; Size: Integer; Dest: Pointer): Integer;

SynLZDecompress

function SynLZDecompress(Src: Pointer; Size: Integer; Dest: Pointer): Integer;

SynLZCompressDestLen

function SynLZCompressDestLen(Len: Integer): Integer;

SynLZDecompressDestLen

function SynLZDecompressDestLen(Src: Pointer): Integer;

FastCompressImage

procedure FastCompressImages(Images: TSimbaImageArray; var Data: Pointer; out DataSize: SizeUInt);

FastDeCompressImages

function FastDeCompressImages(Data: Pointer; DataLen: SizeUInt): TSimbaImageArray;