Template::Plugin::Digest::SHA1 - TT2 interface to the SHA1 Algorithm
[% USE Digest.SHA1 -%] [% checksum = content FILTER sha1 -%] [% checksum = content FILTER sha1_hex -%] [% checksum = content FILTER sha1_base64 -%] [% checksum = content.sha1 -%] [% checksum = content.sha1_hex -%] [% checksum = content.sha1_base64 -%]
The Digest.SHA1 Template Toolkit plugin provides access to the NIST SHA-1 algorithm via the
Digest::SHA1 module. It is used like a plugin but installs filters and vmethods into the current context.
When you invoke
[% USE Digest.SHA1 %]
the following filters (and vmethods of the same name) are installed into the current context:
Calculate the SHA-1 digest of the input, and return it in binary form. The returned string will be 20 bytes long.
sha1, but will return the digest in hexadecimal form. The length of the returned string will be 40 and it will only contain characters from this set: '0'..'9' and 'a'..'f'.
sha1, but will return the digest as a base64 encoded string. The length of the returned string will be 27 and it will only contain characters from this set: 'A'..'Z', 'a'..'z', '0'..'9', '+' and '/'.
Note that the base64 encoded string returned is not padded to be a multiple of 4 bytes long. If you want interoperability with other base64 encoded sha1 digests you might want to append the redundant string "=" to the result.
As the filters are also available as vmethods the following are all equivalent:
FILTER sha1_hex; content; END; content FILTER sha1_hex; content.sha1_base64;
Andrew Ford <A.Ford@ford-mason.co.uk>
Thanks to Darren Chamberlain for a patch for vmethod support.
Copyright (C) 2006 Andrew Ford. All Rights Reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.