ppad-ripemd160 0.1.3 → 0.1.4
raw patch · 3 files changed
+25/−10 lines, 3 filesdep +ppad-base16dep −base16-bytestringPVP ok
version bump matches the API change (PVP)
Dependencies added: ppad-base16
Dependencies removed: base16-bytestring
API changes (from Hackage documentation)
Files
- CHANGELOG +3/−0
- ppad-ripemd160.cabal +10/−3
- test/Main.hs +12/−7
CHANGELOG view
@@ -1,5 +1,8 @@ # Changelog +- 0.1.4 (2025-12-28)+ * Adds an 'llvm' build flag and tests with GHC 9.10.3.+ - 0.1.3 (2025-02-06) * Makes a minor optimization to register concatenation (swapping five builders for 3) and also refines builder realization by input size.
ppad-ripemd160.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: ppad-ripemd160-version: 0.1.3+version: 0.1.4 synopsis: The RIPEMD-160 hashing algorithm. license: MIT license-file: LICENSE@@ -8,12 +8,17 @@ maintainer: jared@ppad.tech category: Cryptography build-type: Simple-tested-with: GHC == 9.8.1+tested-with: GHC == 9.10.3 extra-doc-files: CHANGELOG description: A pure implementation of RIPEMD-160 and HMAC-RIPEMD160 on strict and lazy ByteStrings. +flag llvm+ description: Use GHC's LLVM backend.+ default: False+ manual: True+ source-repository head type: git location: git.ppad.tech/ripemd160.git@@ -23,6 +28,8 @@ hs-source-dirs: lib ghc-options: -Wall+ if flag(llvm)+ ghc-options: -fllvm -O2 exposed-modules: Crypto.Hash.RIPEMD160 build-depends:@@ -41,8 +48,8 @@ build-depends: aeson , base- , base16-bytestring , bytestring+ , ppad-base16 , ppad-ripemd160 , tasty , tasty-hunit
test/Main.hs view
@@ -121,8 +121,13 @@ let out = B16.encode (RIPEMD160.hmac_lazy key put) assertEqual mempty pec out +decodeLenient :: BS.ByteString -> BS.ByteString+decodeLenient bs = case B16.decode bs of+ Nothing -> error "bang"+ Just b -> b+ hmv1_key :: BS.ByteString-hmv1_key = B16.decodeLenient "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"+hmv1_key = decodeLenient "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b" hmv1_put :: BS.ByteString hmv1_put = "Hi There"@@ -140,25 +145,25 @@ hmv2_pec = "dda6c0213a485a9e24f4742064a7f033b43c4069" hmv3_key :: BS.ByteString-hmv3_key = B16.decodeLenient "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"+hmv3_key = decodeLenient "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" hmv3_put :: BS.ByteString-hmv3_put = B16.decodeLenient "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"+hmv3_put = decodeLenient "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" hmv3_pec :: BS.ByteString hmv3_pec = "b0b105360de759960ab4f35298e116e295d8e7c1" hmv4_key :: BS.ByteString-hmv4_key = B16.decodeLenient "0102030405060708090a0b0c0d0e0f10111213141516171819"+hmv4_key = decodeLenient "0102030405060708090a0b0c0d0e0f10111213141516171819" hmv4_put :: BS.ByteString-hmv4_put = B16.decodeLenient "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"+hmv4_put = decodeLenient "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd" hmv4_pec :: BS.ByteString hmv4_pec = "d5ca862f4d21d5e610e18b4cf1beb97a4365ecf4" hmv5_key :: BS.ByteString-hmv5_key = B16.decodeLenient "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c"+hmv5_key = decodeLenient "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c" hmv5_put :: BS.ByteString hmv5_put = "Test With Truncation"@@ -167,7 +172,7 @@ hmv5_pec = "7619693978f91d90539ae786500ff3d8e0518e39" hmv6_key :: BS.ByteString-hmv6_key = B16.decodeLenient "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"+hmv6_key = decodeLenient "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" hmv6_put :: BS.ByteString hmv6_put = "Test Using Larger Than Block-Size Key - Hash Key First"