|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectplay.modules.fileauth.utils.MD5Crypt
public final class MD5Crypt
This class defines a method,
crypt()
, which
takes a password and a salt string and generates an OpenBSD/FreeBSD/Linux-compatible
md5-encoded password entry.
Field Summary | |
---|---|
static java.lang.String |
itoa64
|
static java.lang.String |
SALTCHARS
|
Constructor Summary | |
---|---|
MD5Crypt()
|
Method Summary | |
---|---|
static java.lang.String |
apacheCrypt(java.lang.String password)
This method generates an Apache MD5 compatible md5-encoded password hash from a plaintext password and a salt. |
static java.lang.String |
apacheCrypt(java.lang.String password,
java.lang.String salt)
This method actually generates an Apache MD5 compatible md5-encoded password hash from a plaintext password and a salt. |
static int |
bytes2u(byte inp)
convert an encoded unsigned byte value into a int with the unsigned value. |
static void |
clearbits(byte[] bits)
|
static java.lang.String |
crypt(java.lang.String password)
This method actually generates a OpenBSD/FreeBSD/Linux PAM compatible md5-encoded password hash from a plaintext password and a salt. |
static java.lang.String |
crypt(java.lang.String password,
java.lang.String salt)
This method actually generates a OpenBSD/FreeBSD/Linux PAM compatible md5-encoded password hash from a plaintext password and a salt. |
static java.lang.String |
crypt(java.lang.String password,
java.lang.String salt,
java.lang.String magic)
This method actually generates md5-encoded password hash from a plaintext password, a salt, and a magic string. |
static void |
main(java.lang.String[] argv)
Command line test rig. |
static java.lang.String |
to64(long v,
int size)
|
static boolean |
verifyPassword(java.lang.String plaintextPass,
java.lang.String md5CryptText)
This method tests a plaintext password against a md5Crypt'ed hash and returns true if the password matches the hash. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String SALTCHARS
public static final java.lang.String itoa64
Constructor Detail |
---|
public MD5Crypt()
Method Detail |
---|
public static void main(java.lang.String[] argv)
public static final java.lang.String to64(long v, int size)
public static final void clearbits(byte[] bits)
public static final int bytes2u(byte inp)
public static final java.lang.String crypt(java.lang.String password)
This method actually generates a OpenBSD/FreeBSD/Linux PAM compatible md5-encoded password hash from a plaintext password and a salt.
The resulting string will be in the form '$1$<salt>$<hashed mess>
password
- Plaintext password
public static final java.lang.String crypt(java.lang.String password, java.lang.String salt)
This method actually generates a OpenBSD/FreeBSD/Linux PAM compatible md5-encoded password hash from a plaintext password and a salt.
The resulting string will be in the form '$1$<salt>$<hashed mess>
password
- Plaintext passwordsalt
- A short string to use to randomize md5. May start with $1$, which
will be ignored. It is explicitly permitted to pass a pre-existing
MD5Crypt'ed password entry as the salt. crypt() will strip the salt
chars out properly.
public static final java.lang.String apacheCrypt(java.lang.String password)
This method generates an Apache MD5 compatible md5-encoded password hash from a plaintext password and a salt.
The resulting string will be in the form '$apr1$<salt>$<hashed mess>
password
- Plaintext password
public static final java.lang.String apacheCrypt(java.lang.String password, java.lang.String salt)
This method actually generates an Apache MD5 compatible md5-encoded password hash from a plaintext password and a salt.
The resulting string will be in the form '$apr1$<salt>$<hashed mess>
password
- Plaintext passwordsalt
- A short string to use to randomize md5. May start with $apr1$, which
will be ignored. It is explicitly permitted to pass a pre-existing
MD5Crypt'ed password entry as the salt. crypt() will strip the salt
chars out properly.
public static final java.lang.String crypt(java.lang.String password, java.lang.String salt, java.lang.String magic)
This method actually generates md5-encoded password hash from a plaintext password, a salt, and a magic string.
There are two magic strings that make sense to use here.. '$1$' is the magic string used by the FreeBSD/Linux/OpenBSD MD5Crypt algorithm, and '$apr1$' is the magic string used by the Apache MD5Crypt algorithm.
The resulting string will be in the form '<magic><salt>$<hashed mess>
password
- Plaintext passwordsalt
- A short string to use to randomize md5. May start
with the magic string, which will be ignored. It is explicitly
permitted to pass a pre-existing MD5Crypt'ed password entry as
the salt. crypt() will strip the salt chars out properly.magic
- Either "$apr1$" or "$1$", which controls whether we
are doing Apache-style or FreeBSD-style md5Crypt.
public static final boolean verifyPassword(java.lang.String plaintextPass, java.lang.String md5CryptText)
plaintextPass
- The plaintext password text to test.md5CryptText
- The Apache or FreeBSD-md5Crypted hash used to authenticate the plaintextPass.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |