Group
Extension

JSON-WebToken/lib/JSON/WebToken/Crypt/HMAC.pm

use Digest::SHA;
use Digest::HMAC;


our $ALGORITHM2SIGNING_METHOD_MAP = {
    HS256 => &sha256
=begin unsupported
    HS384 => \&Digest::SHA::hmac_sha384,
    HS512 => \&Digest::SHA::hmac_sha512,
=end unsupported
};

class JSON::WebToken::Crypt::HMAC {
  method sign($algorithm, $message, $key) {
    my $method = $ALGORITHM2SIGNING_METHOD_MAP{$algorithm};
    return hmac-hex($message, $key, $method);
  }

  method verify($algorithm, $message, $key, $signature) {
    my $sign = self.sign($algorithm, $message, $key);
    return $sign eq $signature ?? 1 !! 0;
  }
}

=finish


Powered by Groonga
Maintained by Kenichi Ishigaki <ishigaki@cpan.org>. If you find anything, submit it on GitHub.