README

Digests in raku

This is a raku repository implementing some digest algorithms.

By default the module uses a pure raku implementation, which is slow. An OpenSSL nativecall wrapper is used when the DIGEST_METHOD environment variable is set to "openssl". This wrapper requires OpenSSL version 3 or above.

Synopsis

Nb. Since commit 911c292688ad056a98285f7930297c5e1aea3bfb, there is no Digest module anymore, the submodules, Digest::MD5, Digest::SHA1 and so on must be used directly.

use Digest::MD5;
say md5      "hello";
use Digest::HMAC;
say hmac
  key => "key",
  msg => "The quick brown fox jumps over the lazy dog",
  hash => &md5,
  block-size => 64;

use Digest::SHA1;
say sha1     "Hola";

use Digest::SHA2;
say sha256   "Привет";

use Digest::RIPEMD;
say rmd160   "Saluton";

use Digest::SHA3;
say sha3_256 "Bonjour";
say shake256 "Merhaba", 16;

# This will keep printing blocks
.say for shake256 "नमस्ते", *;

Features

Currently implemented:

  • Digest

    • md5

    • hmac

  • Digest::SHA1

    • sha1

  • Digest::SHA2

    • sha224

    • sha256

    • sha384

    • sha512

  • Digest::SHA3

    • sha3_224

    • sha3_256

    • sha3_384

    • sha3_512

    • shake128

    • shake256

  • Digest::RIPEMD :

    • rmd160

License

This work is published under the terms of the artistic license, as rakudo is. See LICENSE file.

Digest v0.28.0

Raku implementation of digest algorigthms.

Authors

    License

    Artistic-2.0

    Dependencies

    Test Dependencies

    Provides

    • Digest::MD5
    • Digest::OpenSSL
    • Digest::RIPEMD
    • Digest::SHA1
    • Digest::SHA2
    • Digest::SHA3
    • HMAC

    The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.