HashLib4Pascal est une bibliothèque de hachage Pascal d'objet publiée sous la licence MIT permissive qui fournit une interface facile à utiliser pour calculer des hachages et des sommes de contrôle des données. Il prend également en charge le hachage basé sur l'État (incrémentiel).
L'objectif HashLib4Pascal's est d'être la meilleure option pour hachage dans Object Pascal en offrant diverses primitives de hachage via une API facile à utiliser pour objecter les développeurs Pascal.
Le développement est coordonné sur GitHub et les contributions sont les bienvenues. Si vous avez besoin d'aide, veuillez ouvrir un problème ici.
Statut de construction
All CRC Variants from CRC3 to CRC64 Adler32 AP BKDR Bernstein Bernstein1 DEK DJB ELF FNV
FNV1a JS Jenkins3 Murmur2 MurmurHash3_x86_32 OneAtTime
PJW RS Rotating SDBM ShiftAndXor SuperFast XXHash32
FNV64 FNV1a64 Murmur2_64 SipHash2_4 XXHash64 MurmurHash3_x86_128 MurmurHash3_x64_128 MD2
MD4
MD5
SHA-0
SHA-1
SHA-2 (224, 256, 384, 512, 512-224, 512-256)
GOST 34.11-94
GOST R 34.11-2012 (AKA Streebog) (256, 512)
Grindahl (256, 512)
Has160
RIPEMD (128, 160, 256, 256, 320)
Tiger (128, 160, 192 (Rounds 3, 4, 5))
Tiger2 (128, 160, 192 (Rounds 3, 4, 5))
Snefru (128, 256)
Haval (128, 160, 192, 224, 256 (Rounds 3, 4, 5))
Panama
RadioGatun (RadioGatun32, RadioGatun64)
WhirlPool
Blake2B (160, 256, 384, 512)
Blake2S (128, 160, 224, 256)
SHA-3 (224, 256, 384, 512)
Keccak (224, 256, 288, 384, 512)
Blake2BP
Blake2SP
Blake3
PBKDF2
Argon2 (2i, 2d and 2id variants)
Scrypt
HMAC (all supported hashes)
KMAC (KMAC128, KMAC256)
Blake2MAC (Blake2BMAC, Blake2SMAC)
Shake (Shake-128, Shake-256)
CShake (CShake-128, CShake-256)
Blake2X (Blake2XS, Blake2XB)
KMACXOF (KMAC128XOF, KMAC256XOF)
Blake3XOF
FreePascal 3.0.0+
Delphi 2010+
Si vous voulez des implémentations dans d'autres langues, vous pouvez les consulter
1MhFfW7tDuEHQSgie65uJcAfJgCNchGeKf0x6c1DC21aeC49A822A4f1E3bf07c623C2C1978a98345367-40