Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.codec.digest
Class UnixCrypt

    java.lang.Object
      org.apache.commons.codec.digest.UnixCrypt

    public class UnixCrypt

extends Object

Unix crypt(3) algorithm implementation.

This class only implements the traditional 56 bit DES based algorithm. Please use DigestUtils.crypt() for a method that distinguishes between all the algorithms supported in the current glibc's crypt().

The Java implementation was taken from the JetSpeed Portal project (see org.apache.jetspeed.services.security.ldap.UnixCrypt).

This class is slightly incompatible if the given salt contains characters that are not part of the allowed range [a-zA-Z0-9./].

This class is immutable and thread-safe.

Since:
  1.7
Version:
  $Id: UnixCrypt.java 1380013 2012-09-02 17:48:55Z ggregory $

Constructor Summary
`UnixCrypt()`

Method Summary
`static String` | `crypt(byte[] original)` Generates a crypt(3) compatible hash using the DES algorithm.
`static String` | `crypt(byte[] original, String salt)` Generates a crypt(3) compatible hash using the DES algorithm.
`static String` | `crypt(String original)` Generates a crypt(3) compatible hash using the DES algorithm.
`static String` | `crypt(String original, String salt)` Generates a crypt(3) compatible hash using the DES algorithm.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### UnixCrypt

    public UnixCrypt()

Method Detail

### crypt

    public static String crypt(byte[] original)

  Generates a crypt(3) compatible hash using the DES algorithm.

  As no salt is given, a random one will be used.

  Parameters:
    `original` - plaintext password
  Returns:
    a 13 character string starting with the salt string

### crypt

    public static String crypt(byte[] original,
                               String salt)

  Generates a crypt(3) compatible hash using the DES algorithm.

  Using unspecified characters as salt results incompatible hash values.

  Parameters:
    `original` - plaintext password
    `salt` - a two character string drawn from [a-zA-Z0-9./] or null for a random one
  Returns:
    a 13 character string starting with the salt string
  Throws:
    `IllegalArgumentException` - if the salt does not match the allowed pattern

### crypt

    public static String crypt(String original)

  Generates a crypt(3) compatible hash using the DES algorithm.

  As no salt is given, a random one is used.

  Parameters:
    `original` - plaintext password
  Returns:
    a 13 character string starting with the salt string

### crypt

    public static String crypt(String original,
                               String salt)

  Generates a crypt(3) compatible hash using the DES algorithm.

  Parameters:
    `original` - plaintext password
    `salt` - a two character string drawn from [a-zA-Z0-9./] or null for a random one
  Returns:
    a 13 character string starting with the salt string
  Throws:
    `IllegalArgumentException` - if the salt does not match the allowed pattern

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.