Alt-Digest-MD5-OpenSSL
view release on metacpan or search on metacpan
t/Alt-Digest-MD5-OpenSSL/02-version.t
t/Alt-Digest-MD5-OpenSSL/03-openssl_diag.t
t/Digest-MD5/01-use.t
t/Digest-MD5/02-version.t
t/original/align.t
t/original/badfile.t
t/original/bits.t
t/original/clone.t
t/original/files.t
t/original/md5-aaa.t
t/original/utf8.t
t/original/warns.t
typemap
META.yml Module YAML meta-data (added by MakeMaker)
META.json Module JSON meta-data (added by MakeMaker)
void
add(self, ...)
SV* self
PREINIT:
MD5_CTX* context = get_md5_ctx(aTHX_ self);
int i;
unsigned char *data;
STRLEN len;
PPCODE:
for (i = 1; i < items; i++) {
U32 had_utf8 = SvUTF8(ST(i));
data = (unsigned char *)(SvPVbyte(ST(i), len));
MD5_Update(context, data, len);
if (had_utf8)
sv_utf8_upgrade(ST(i));
}
XSRETURN(1); /* self */
void
digest(context)
MD5_CTX* context
ALIAS:
Digest::MD5::digest = F_BIN
Digest::MD5::hexdigest = F_HEX
Digest::MD5::b64digest = F_B64
}
}
if (msg) {
const char *f = (ix == F_BIN) ? "md5" :
(ix == F_HEX) ? "md5_hex" : "md5_base64";
warn("&Digest::MD5::%s function %s", f, msg);
}
}
for (i = 0; i < items; i++) {
U32 had_utf8 = SvUTF8(ST(i));
data = (unsigned char *)(SvPVbyte(ST(i), len));
MD5_Update(&context, data, len);
if (had_utf8)
sv_utf8_upgrade(ST(i));
}
MD5_Final(digeststr, &context);
ST(0) = make_mortal_sv(aTHX_ digeststr, ix);
XSRETURN(1);
SHA256 f72080f645486850cdd57d0e1c151ee3ca68ff93b394d965e88a5dbaeab44905 t/Alt-Digest-MD5-OpenSSL/02-version.t
SHA256 4ed9583911e524f89df95460c619a269d3d8c037c022db9f93b77d9b8e1036a4 t/Alt-Digest-MD5-OpenSSL/03-openssl_diag.t
SHA256 3aa504d7b6f3b9ef1cf5e9fe896e37af280ffc182286c99d2390d7c2c678fc24 t/Digest-MD5/01-use.t
SHA256 f972216627f17293c50958825b211c60f3f4763dcc20f65edefa74401fc0ce9d t/Digest-MD5/02-version.t
SHA256 64caa89cf5dba4e4b54ede554675e784c7f91506c078fbdc4b081e05acb509af t/original/align.t
SHA256 d09af30d817b9d4bf3851cfd172ecb3ab8d3bf53a3a67b03fcdc856a13bf66fa t/original/badfile.t
SHA256 39c8f076cb89fa53158d18b888864a72992b36b591d9b2eb6e07e5819c049872 t/original/bits.t
SHA256 d2c0d6c1dbdd8f3652adf38e67b2f50e8fc08423393692330150fddab4e84649 t/original/clone.t
SHA256 e3ca1c628e8817ce37fac4eb504a5696e4dcea6e030b5c0af15531086ce83fd9 t/original/files.t
SHA256 2c2496dc5f9397b1eef602eeb7c731f83ba3e775155fd8fe22f8403a52c56623 t/original/md5-aaa.t
SHA256 7b95d9f995f4f072a76139fb9c686b8be07d5e6fa65a046d41d5ee9da198f32e t/original/utf8.t
SHA256 bb8d8c31a5bf978b9ff68408afb34a3505f15cc2dbda0ccfe70959ef4b5023c5 t/original/warns.t
SHA256 a16b2e85d921449e419a4bd86574ea939795ebe47837f4603286be6ee0b48732 typemap
-----BEGIN PGP SIGNATURE-----
iQGzBAEBAwAdFiEEbhzVZugfHqSVNvE7YSp92FNcjtAFAmXE3PcACgkQYSp92FNc
jtCiRQwAgjaH8CT2sHHUGbWaVsDxjQU6HW0fDGt3QM/hnaGfWxoCk08aMc0vh48K
nxRbv7SDnyXb6GCBWh47DrGoraNEgwL2VBwZvPTPelSFtJZGpaikXLYiyedSG9bB
w4MA63smnNREWx1GP4xae5IhPwCVwnHjR8y1d9EV8y9MGPSZj8La9y4GH8leDT5A
fyeLTAjIsPwxlKcLLCiXZS4SAcwt2NA3wBta8TY8CKOe3GHnwNM6IhPfnfrKGzqy
1XQzeZ/1sNFbLMVtq9Q68c5FYgHTkPOMZDgWG/xmpI/D3xbSY2m/EJ7TrkbxloNr
lib/Alt/Digest/MD5/OpenSSL.pm view on Meta::CPAN
use strict;
use warnings;
our $AUTHORITY = 'cpan:SKIM';
our $VERSION = 0.04;
1;
=pod
=encoding utf8
=head1 NAME
Alt::Digest::MD5::OpenSSL - Alternative Digest::MD5 based on OpenSSL.
=head1 DESCRIPTION
This is a modification of the Digest::MD5 module to remove bundled C code for
MD5 algorithm.
lib/Digest/MD5.pm view on Meta::CPAN
if ($@) {
my $err = $@;
*add_bits = sub { die $err };
}
XSLoader::load('Digest::MD5', $VERSION);
*reset = \&new;
1;
=encoding utf8
=head1 NAME
Digest::MD5 - Perl interface to the MD5 Algorithm
=head1 SYNOPSIS
# Functional style
use Digest::MD5 qw(md5 md5_hex md5_base64);
lib/Digest/MD5.pm view on Meta::CPAN
such input data:
use Digest::MD5 qw(md5_hex);
my $str = "abc\x{300}";
print md5_hex($str), "\n"; # croaks
# Wide character in subroutine entry
What you can do is calculate the MD5 checksum of the UTF-8
representation of such strings. This is achieved by filtering the
string through encode_utf8() function:
use Digest::MD5 qw(md5_hex);
use Encode qw(encode_utf8);
my $str = "abc\x{300}";
print md5_hex(encode_utf8($str)), "\n";
# 8c2d46911f3f5a326455f0ed7a8ed3b3
=head1 SEE ALSO
L<Digest>,
L<Digest::MD2>,
L<Digest::SHA>,
L<Digest::HMAC>
L<md5sum(1)>
t/original/utf8.t view on Meta::CPAN
# reference
print "not " unless md5_hex("foo\xFF") eq $exp;
print "ok 3\n";
# autopromotion
if ($] >= 5.007003) {
my $unistring = "Oslo.pm har sosialt medlemsmøte onsdag 1. April 2008, klokken 18:30. Vi treffes på Marhaba Café, Keysersgate 1.";
require Encode;
$unistring = Encode::decode_utf8($unistring);
print "not " if ( not utf8::is_utf8($unistring));
print "ok 4\n";
md5_hex($unistring, "");
print "not " if ( not utf8::is_utf8($unistring));
print "ok 5\n"
} else {
print "ok 4 # SKIP Your perl is too old to properly test unicode semantics\nok 5 # SKIP No, really\n";
}
( run in 1.235 second using v1.01-cache-2.11-cpan-49f99fa48dc )