Name : perl-Digest-SHA
| |
Version : 6.04
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : 1.13
| Date : 2024-08-29 00:13:58
|
Group : Unspecified
| Source RPM : perl-Digest-SHA-6.04-1.13.src.rpm
|
Size : 0.12 MB
| |
Packager : (none)
| |
Summary : Perl extension for SHA-1/224/256/384/512
|
Description :
Digest::SHA is written in C for speed. If your platform lacks a C compiler, you can install the functionally equivalent (but much slower) Digest::SHA::PurePerl module.
The programming interface is easy to use: it\'s the same one found in CPAN\'s Digest module. So, if your applications currently use Digest::MD5 and you\'d prefer the stronger security of SHA, it\'s a simple matter to convert them.
The interface provides two ways to calculate digests: all-at-once, or in stages. To illustrate, the following short program computes the SHA-256 digest of \"hello world\" using each approach:
use Digest::SHA qw(sha256_hex);
$data = \"hello world\"; AATTfrags = split(//, $data);
$digest1 = sha256_hex($data);
$state = Digest::SHA->new(256); for (AATTfrags) { $state->add($_) } $digest2 = $state->hexdigest;
print $digest1 eq $digest2 ? \"whew!\ \" : \"oops!\ \";
To calculate the digest of an n-bit message where _n_ is not a multiple of 8, use the _add_bits()_ method. For example, consider the 446-bit message consisting of the bit-string \"110\" repeated 148 times, followed by \"11\". Here\'s how to display its SHA-1 digest:
use Digest::SHA; $bits = \"110\" x 148 . \"11\"; $sha = Digest::SHA->new(1)->add_bits($bits); print $sha->hexdigest, \"\ \";
Note that for larger bit-strings, it\'s more efficient to use the two-argument version _add_bits($data, $nbits)_, where _$data_ is in the customary packed binary format used for Perl strings.
The module also lets you save intermediate SHA states to a string. The _getstate()_ method generates portable, human-readable text describing the current state of computation. You can subsequently restore that state with _putstate()_ to resume where the calculation left off.
To see what a state description looks like, just run the following:
use Digest::SHA; print Digest::SHA->new->add(\"Shaw\" x 1962)->getstate;
As an added convenience, the Digest::SHA module offers routines to calculate keyed hashes using the HMAC-SHA-1/224/256/384/512 algorithms. These services exist in functional form only, and mimic the style and behavior of the _sha()_, _sha_hex()_, and _sha_base64()_ functions.
use Digest::SHA qw(hmac_sha256_hex); print hmac_sha256_hex(\"Hi There\", chr(0x0b) x 32), \"\ \";
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-D/openSUSE_Tumbleweed/x86_64 |