NAME
    Template::Plugin::Digest::SHA1 - TT2 interface to the SHA1 Algorithm

SYNOPSIS
      [% 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 -%]

DESCRIPTION
    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:

    "sha1"
        Calculate the SHA-1 digest of the input, and return it in binary
        form. The returned string will be 20 bytes long.

    "sha1_hex"
        Same as "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_base64"
        Same as "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;

AUTHOR
    Andrew Ford <A.Ford@ford-mason.co.uk>

    Thanks to Darren Chamberlain for a patch for vmethod support.

COPYRIGHT
    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.

SEE ALSO
    "Digest::SHA1", Template

