Pure perl6 implementation of SHA-256 and RIPEMD-160 digests
Perl6
Latest commit 44206f2 Oct 26, 2016 @FROGGS FROGGS committed on GitHub Merge pull request #15 from zoffixznet/patch-1
Add mandatory "perl" META field

README.md

This is a perl6 module implementing some digest algorithms in pure Perl6 (no parrot or nqp:: code).

The interface is minimal: functions only return Blob and only take a Blob as argument. It's up to the user to turn it into an hex string if he needs to.

use Digest::SHA;
say my $sha256 = sha256 "hello".encode: 'ascii';

use Digest::RIPEMD;
say rmd160 "bye".encode: "ascii";

sub buf_to_hex { [~] $^buf.list».fmt: "%02x" }
say buf_to_hex $sha256;

Currently implemented:

  • Digest
    • md5
  • Digest::SHA :
    • sha256
    • sha1
  • Digest::RIPEMD :
    • rmd160

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