# phpman > perldoc > Crypt::DES

## NAME
    [Crypt::DES](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ADES/markdown) - Perl DES encryption module

## SYNOPSIS
        use [Crypt::DES](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ADES/markdown);

## DESCRIPTION
    The module implements the [Crypt::CBC](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ACBC/markdown) interface, which has the following methods

    blocksize =item keysize =item encrypt =item decrypt

## FUNCTIONS
    blocksize
        Returns the size (in bytes) of the block cipher.

    keysize
        Returns the size (in bytes) of the key. Optimal size is 8 bytes.

    new
                my $cipher = new [Crypt::DES](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ADES/markdown) $key;

        This creates a new [Crypt::DES](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ADES/markdown) BlockCipher object, using $key, where $key is a key of
        "keysize()" bytes.

    encrypt
                my $cipher = new [Crypt::DES](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ADES/markdown) $key;
                my $ciphertext = $cipher->encrypt($plaintext);

        This function encrypts $plaintext and returns the $ciphertext where $plaintext and
        $ciphertext should be of "blocksize()" bytes.

    decrypt
                my $cipher = new [Crypt::DES](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ADES/markdown) $key;
                my $plaintext = $cipher->decrypt($ciphertext);

        This function decrypts $ciphertext and returns the $plaintext where $plaintext and
        $ciphertext should be of "blocksize()" bytes.

## EXAMPLE
            my $key = pack("H16", "0123456789ABCDEF");
            my $cipher = new [Crypt::DES](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ADES/markdown) $key;
            my $ciphertext = $cipher->encrypt("plaintex");  # NB - 8 bytes
            print unpack("H16", $ciphertext), "\n";

## NOTES
    Do note that DES only uses 8 byte keys and only works on 8 byte data blocks. If you're intending
    to encrypt larger blocks or entire files, please use [Crypt::CBC](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ACBC/markdown) in conjunction with this module.
    See the [Crypt::CBC](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ACBC/markdown) documentation for proper syntax and use.

    Also note that the DES algorithm is, by today's standard, weak encryption. [Crypt::Blowfish](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ABlowfish/markdown) is
    highly recommended if you're interested in using strong encryption and a faster algorithm.

## SEE ALSO
    [Crypt::Blowfish](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3ABlowfish/markdown) [Crypt::IDEA](https://www.chedong.com/phpMan.php/perldoc/Crypt%3A%3AIDEA/markdown)

    Bruce Schneier, *Applied Cryptography*, 1995, Second Edition, published by John Wiley & Sons,
    Inc.

## COPYRIGHT
    The implementation of the DES algorithm was developed by, and is copyright of, Eric Young
    (<eay@mincom.oz.au>). Other parts of the perl extension and module are copyright of Systemics Ltd
    ( <http://www.systemics.com/> ). Cross-platform work and packaging for single algorithm
    distribution is copyright of W3Works, LLC.

## MAINTAINER
    This single-algorithm package and cross-platform code is maintained by Dave Paris
    <<amused@pobox.com>>.

