Introduction - If you have any usage issues, please Google them yourself
``HashLib4Pascal`` is an Object Pascal hashing library released under the permissive [MIT License](https://github.com/Xor-el/HashLib4Pascal/blob/master/LICENSE) which provides an easy to use interface for computing hashes and checksums of data. It also supports state based (incremental) hashing.
``HashLib4Pascal's`` goal is to be the best option for hashing in Object Pascal by offering various hashing primitives via an easy to use API to Object Pascal developers.
Development is coordinated on [GitHub](https://github.com/Xor-el/HashLib4Pascal) and contributions are welcome. If you need help, please open an issue [here](https://github.com/Xor-el/HashLib4Pascal/issues).
Packet : HashLib4Pascal.rar filelist
.github/FUNDING.yml
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/feature_request.md
HashLib/src/Base/HlpHash.pas
HashLib/src/Base/HlpHashBuffer.pas
HashLib/src/Base/HlpHashCryptoNotBuildIn.pas
HashLib/src/Base/HlpHashFactory.pas
HashLib/src/Base/HlpHashResult.pas
HashLib/src/Base/HlpHashRounds.pas
HashLib/src/Base/HlpHashSize.pas
HashLib/src/Base/HlpHMACNotBuildInAdapter.pas
HashLib/src/Base/HlpKDF.pas
HashLib/src/Base/HlpMultipleTransformNonBlock.pas
HashLib/src/Checksum/HlpAdler32.pas
HashLib/src/Checksum/HlpCRC.pas
HashLib/src/Checksum/HlpCRC16.pas
HashLib/src/Checksum/HlpCRC32.pas
HashLib/src/Checksum/HlpCRC32Fast.pas
HashLib/src/Checksum/HlpCRC64.pas
HashLib/src/Crypto/Blake2BParams/HlpBlake2BParams.pas
HashLib/src/Crypto/Blake2SParams/HlpBlake2SParams.pas
HashLib/src/Crypto/HlpBlake2B.pas
HashLib/src/Crypto/HlpBlake2BP.pas
HashLib/src/Crypto/HlpBlake2S.pas
HashLib/src/Crypto/HlpBlake2SP.pas
HashLib/src/Crypto/HlpGost.pas
HashLib/src/Crypto/HlpGOST3411_2012.pas
HashLib/src/Crypto/HlpGrindahl256.pas
HashLib/src/Crypto/HlpGrindahl512.pas
HashLib/src/Crypto/HlpHAS160.pas
HashLib/src/Crypto/HlpHaval.pas
HashLib/src/Crypto/HlpMD2.pas
HashLib/src/Crypto/HlpMD4.pas
HashLib/src/Crypto/HlpMD5.pas
HashLib/src/Crypto/HlpMDBase.pas
HashLib/src/Crypto/HlpPanama.pas
HashLib/src/Crypto/HlpRadioGatun32.pas
HashLib/src/Crypto/HlpRadioGatun64.pas
HashLib/src/Crypto/HlpRIPEMD.pas
HashLib/src/Crypto/HlpRIPEMD128.pas
HashLib/src/Crypto/HlpRIPEMD160.pas
HashLib/src/Crypto/HlpRIPEMD256.pas
HashLib/src/Crypto/HlpRIPEMD320.pas
HashLib/src/Crypto/HlpSHA0.pas
HashLib/src/Crypto/HlpSHA1.pas
HashLib/src/Crypto/HlpSHA2_224.pas
HashLib/src/Crypto/HlpSHA2_256.pas
HashLib/src/Crypto/HlpSHA2_256Base.pas
HashLib/src/Crypto/HlpSHA2_384.pas
HashLib/src/Crypto/HlpSHA2_512.pas
HashLib/src/Crypto/HlpSHA2_512Base.pas
HashLib/src/Crypto/HlpSHA2_512_224.pas
HashLib/src/Crypto/HlpSHA2_512_256.pas
HashLib/src/Crypto/HlpSHA3.pas
HashLib/src/Crypto/HlpSnefru.pas
HashLib/src/Crypto/HlpTiger.pas
HashLib/src/Crypto/HlpTiger2.pas
HashLib/src/Crypto/HlpWhirlPool.pas
HashLib/src/Hash128/HlpMurmurHash3_x64_128.pas
HashLib/src/Hash128/HlpMurmurHash3_x86_128.pas
HashLib/src/Hash128/HlpSipHash128.pas
HashLib/src/Hash32/HlpAP.pas
HashLib/src/Hash32/HlpBernstein.pas
HashLib/src/Hash32/HlpBernstein1.pas
HashLib/src/Hash32/HlpBKDR.pas
HashLib/src/Hash32/HlpDEK.pas
HashLib/src/Hash32/HlpDJB.pas
HashLib/src/Hash32/HlpELF.pas
HashLib/src/Hash32/HlpFNV.pas
HashLib/src/Hash32/HlpFNV1a.pas
HashLib/src/Hash32/HlpJenkins3.pas
HashLib/src/Hash32/HlpJS.pas
HashLib/src/Hash32/HlpMurmur2.pas
HashLib/src/Hash32/HlpMurmurHash3_x86_32.pas
HashLib/src/Hash32/HlpOneAtTime.pas
HashLib/src/Hash32/HlpPJW.pas
HashLib/src/Hash32/HlpRotating.pas
HashLib/src/Hash32/HlpRS.pas
HashLib/src/Hash32/HlpSDBM.pas
HashLib/src/Hash32/HlpShiftAndXor.pas
HashLib/src/Hash32/HlpSuperFast.pas
HashLib/src/Hash32/HlpXXHash32.pas
HashLib/src/Hash64/HlpFNV1a64.pas
HashLib/src/Hash64/HlpFNV64.pas
HashLib/src/Hash64/HlpMurmur2_64.pas
HashLib/src/Hash64/HlpSipHash.pas
HashLib/src/Hash64/HlpXXHash64.pas
HashLib/src/Include/HashLib.inc
HashLib/src/Include/HashLibHelper.inc
HashLib/src/Interfaces/HlpICRC.pas
HashLib/src/Interfaces/HlpIHash.pas
HashLib/src/Interfaces/HlpIHashInfo.pas
HashLib/src/Interfaces/HlpIHashResult.pas
HashLib/src/Interfaces/HlpIKDF.pas
HashLib/src/Interfaces/IBlake2BParams/HlpIBlake2BParams.pas
HashLib/src/Interfaces/IBlake2SParams/HlpIBlake2SParams.pas
HashLib/src/KDF/HlpArgon2TypeAndVersion.pas
HashLib/src/KDF/HlpPBKDF2_HMACNotBuildInAdapter.pas
HashLib/src/KDF/HlpPBKDF_Argon2NotBuildInAdapter.pas
HashLib/src/KDF/HlpPBKDF_ScryptNotBuildInAdapter.pas
HashLib/src/Nullable/HlpNullable.pas
HashLib/src/NullDigest/HlpNullDigest.pas
HashLib/src/Packages/Delphi/HashLib4PascalPackage.dpk
HashLib/src/Packages/FPC/HashLib4PascalPackage.lpk
HashLib/src/Packages/FPC/HashLib4PascalPackage.pas
HashLib/src/Utils/HlpArrayUtils.pas
HashLib/src/Utils/HlpBitConverter.pas
HashLib/src/Utils/HlpBits.pas
HashLib/src/Utils/HlpConverters.pas
HashLib/src/Utils/HlpHashLibTypes.pas
HashLib.Benchmark/project/Delphi/PerformanceBenchmarkConsole.dpr
HashLib.Benchmark/project/Delphi/PerformanceBenchmarkFMX.dpr
HashLib.Benchmark/project/Lazarus/PerformanceBenchmarkConsole.lpi
HashLib.Benchmark/project/Lazarus/PerformanceBenchmarkConsole.lpr
HashLib.Benchmark/src/Core/uPerformanceBenchmark.pas
HashLib.Benchmark/src/Forms/FMX/fmxMainForm.fmx
HashLib.Benchmark/src/Forms/FMX/fmxMainForm.pas
HashLib.Tests/Delphi.Tests/HashLib.Tests.dpr
HashLib.Tests/Delphi.Tests/HashLib.Tests.TestInsight.dpr
HashLib.Tests/FreePascal.Tests/HashLib.lpr
HashLib.Tests/FreePascal.Tests/HashLib.Tests.lpi
HashLib.Tests/FreePascal.Tests/HashLibConsole.lpr
HashLib.Tests/FreePascal.Tests/HashLibConsole.Tests.lpi
HashLib.Tests/src/BitConverterTests.pas
HashLib.Tests/src/Blake2BPTestVectors.pas
HashLib.Tests/src/Blake2BTestVectors.pas
HashLib.Tests/src/Blake2SPTestVectors.pas
HashLib.Tests/src/Blake2STestVectors.pas
HashLib.Tests/src/ChecksumTests.pas
HashLib.Tests/src/CRCTests.pas
HashLib.Tests/src/CryptoTests.pas
HashLib.Tests/src/Hash128Tests.pas
HashLi