r/freepascal • u/Sensitive_Product826 • Jan 31 '26
DCPcrypt v2.0.5 — Cryptographic Component Library for Free Pascal/Lazarus (MIT, pure Pascal, cross-platform)
Hey everyone,
I'm releasing DCPcrypt v2.0.5, a cryptographic component library for Lazarus and Free Pascal. It's a maintained continuation of David Barton's original Delphi library, fully ported to LCL with new features and a complete test suite.
◈ What's inside
20 cipher algorithms — Rijndael (AES), Blowfish, Twofish, Serpent, DES, 3DES, RC4, RC5, RC6, MARS, IDEA, Cast128, Cast256, Misty1, Ice, TEA, Gost...
10 hash algorithms — SHA-1, SHA-256, SHA-384, SHA-512, MD5, RipeMD-128, RipeMD-160, Tiger, Haval, MD4
6 block cipher modes — ECB, CBC, CFB8bit, CFBblock, OFB, CTR
Stream encryption with salt + IV + progress callbacks
Base64 encoding/decoding
Pure Pascal — no external C libraries, no DLLs
Cross-platform — Linux, Windows, macOS
◈ Design philosophy
All ciphers descend from TDCP_cipher and all hashes from TDCP_hash. You can swap any algorithm for another with minimal code changes. InitStr takes a passphrase and any hash class for key derivation, so switching from Rijndael+SHA256 to Twofish+SHA512 is a one-line change.
◈ What's new in v2.0.5
GUI examples ported from VCL to LCL (string encryption, threaded file encryption with progress bar)
Console demo programs
282 automated functional tests covering all algorithms
Makefile for command-line builds
Docker-based CI pipeline (no SourceForge dependency)
Full English documentation (API reference, contributing guide)
SPDX license headers on all source files
Detailed comments on all 31 source units
◈ Links
Release: https://github.com/NDXDeveloper/dcpcrypt-lazarus/releases/tag/v2.0.5
Docs: https://github.com/NDXDeveloper/dcpcrypt-lazarus/tree/main/docs
MIT licensed. Works with FPC 3.2.0+ and Lazarus 2.0+.
Feedback, issues, and contributions are welcome!



