blaise/compiler
Graeme Geldenhuys bfd43f9147 feat(stdlib): add SHA-256, MD5, HMAC-SHA256, ConstantTimeEqual to Security.Crypto
Expand the crypto primitives unit with four new capabilities:

- SHA-256 / Sha256Hex (FIPS 180-4, Rotr32 helper, 64-round K table)
- MD5 / Md5Hex (RFC 1321, little-endian padding and output, T/S tables)
- HMAC-SHA256 / HmacSha256Hex (RFC 2104, key>block-size hashing)
- ConstantTimeEqual (timing-safe XOR-accumulate comparison)

Also refactors Sha1Hex to use a shared DigestToHex private helper,
adds Rotr32 alongside Rotl32, removes unused `uses Classes` import,
and adds MD5 deprecation notice to the unit header.

Tests: 12 crypto tests covering NIST CAVP (SHA-256), RFC 1321 all 7
vectors (MD5), RFC 4231 TC1-3/TC5-6 (HMAC-SHA256 incl. long-key),
and 8 ConstantTimeEqual assertions. E2E smoke test for Sha256Hex
on both backends (cp.test.e2e.crypto.pas).
2026-07-01 01:06:30 +01:00
..
src feat(stdlib): add SHA-256, MD5, HMAC-SHA256, ConstantTimeEqual to Security.Crypto 2026-07-01 01:06:30 +01:00
project.xml refactor(rtl): relocate RTL units into the compiler tree (dotted-flat names) 2026-06-25 16:05:44 +01:00