# Crypt::Digest::SHAKE - phpMan

## NAME
    [Crypt::Digest::SHAKE] - Hash functions SHAKE128, SHAKE256 from SHA3
    family

## SYNOPSIS
       use [Crypt::Digest::SHAKE]

       $d = [Crypt::Digest::SHAKE]->[new(128)];
       $d->add('any data');
       $d->addfile('filename.dat');
       $d->addfile(*FILEHANDLE);
       $part1 = $d->[done(100)]; # 100 raw bytes
       $part2 = $d->[done(100)]; # another 100 raw bytes
       #...

## DESCRIPTION
    Provides an interface to the SHA3's sponge function SHAKE.

## METHODS
  new
     $d = [Crypt::Digest::SHA3]-SHAKE->new($num);
     # $num ... 128 or 256

  clone
     $d->clone();

  reset
     $d->reset();

  add
     $d->add('any data');
     #or
     $d->add('any data', 'more data', 'even more data');

  addfile
     $d->addfile('filename.dat');
     #or
     $d->addfile(*FILEHANDLE);

  done
     $result_raw = $d->done($len);
     # can be called multiple times

## SEE ALSO
    *   CryptX, [Crypt::Digest]

    *   <<http://en.wikipedia.org/wiki/SHA-3>>

