RouterPasswordManager
public class PasswordManager
extends java.lang.Object
修飾子とタイプ | フィールド | 説明 |
---|---|---|
protected static java.lang.String |
PROP_B64 |
stored obfuscated as b64 of the UTF-8 bytes
|
protected static java.lang.String |
PROP_CRYPT |
stored as a Unix crypt string
|
protected static java.lang.String |
PROP_MD5 |
stored as the hex of the MD5 hash of the UTF-8 bytes.
|
protected static java.lang.String |
PROP_PW |
stored as plain text
|
protected static java.lang.String |
PROP_SHASH |
stored as the b64 of the 16 byte salt + the 32 byte hash of the UTF-8 bytes
|
protected static int |
SALT_LENGTH |
|
protected static int |
SHASH_LENGTH |
48
|
コンストラクタ | 説明 |
---|---|
PasswordManager(I2PAppContext ctx) |
修飾子とタイプ | メソッド | 説明 |
---|---|---|
boolean |
check(java.lang.String realm,
java.lang.String user,
java.lang.String pw) |
Checks both plaintext and hash
|
boolean |
checkB64(java.lang.String realm,
java.lang.String user,
java.lang.String pw) |
|
boolean |
checkHash(java.lang.String shash,
java.lang.String pw) |
Check pw against b64 salt+hash, as generated by createHash()
|
boolean |
checkHash(java.lang.String realm,
java.lang.String user,
java.lang.String pw) |
With random salt
|
boolean |
checkPlain(java.lang.String realm,
java.lang.String user,
java.lang.String pw) |
|
java.lang.String |
createHash(java.lang.String pw) |
Create a salt+hash, to be saved and verified later by verifyHash().
|
java.lang.String |
get(java.lang.String realm,
java.lang.String user) |
Either plain or b64
|
java.lang.String |
getB64(java.lang.String realm,
java.lang.String user) |
|
java.lang.String |
getPlain(java.lang.String realm,
java.lang.String user) |
|
static java.lang.String |
md5Hex(java.lang.String fullpw) |
Straight MD5, no salt
Will return the MD5 sum of the data, compatible with Jetty
and RFC 2617.
|
static java.lang.String |
md5Hex(java.lang.String subrealm,
java.lang.String user,
java.lang.String pw) |
Straight MD5, no salt
Will return the MD5 sum of "user:subrealm:pw", compatible with Jetty
and RFC 2617.
|
static byte[] |
md5Sum(byte[] data) |
Standard MD5 checksum
|
protected static final int SALT_LENGTH
protected static final int SHASH_LENGTH
protected static final java.lang.String PROP_PW
protected static final java.lang.String PROP_B64
protected static final java.lang.String PROP_MD5
protected static final java.lang.String PROP_CRYPT
protected static final java.lang.String PROP_SHASH
public PasswordManager(I2PAppContext ctx)
public boolean check(java.lang.String realm, java.lang.String user, java.lang.String pw)
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpw
- plain text, already trimmedpublic boolean checkPlain(java.lang.String realm, java.lang.String user, java.lang.String pw)
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpw
- plain text, already trimmedpublic boolean checkB64(java.lang.String realm, java.lang.String user, java.lang.String pw)
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpw
- plain text, already trimmedpublic boolean checkHash(java.lang.String realm, java.lang.String user, java.lang.String pw)
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpw
- plain text, already trimmedpublic boolean checkHash(java.lang.String shash, java.lang.String pw)
shash
- b64 stringpw
- plain text non-null, already trimmedpublic java.lang.String createHash(java.lang.String pw)
pw
- plain text non-null, already trimmedpublic java.lang.String get(java.lang.String realm, java.lang.String user)
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpublic java.lang.String getPlain(java.lang.String realm, java.lang.String user)
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpublic java.lang.String getB64(java.lang.String realm, java.lang.String user)
realm
- e.g. i2cp, routerconsole, etc.user
- null or "" for no user, already trimmedpublic static java.lang.String md5Hex(java.lang.String subrealm, java.lang.String user, java.lang.String pw)
subrealm
- to be used in creating the checksumuser
- non-null, non-empty, already trimmedpw
- non-null, plain text, already trimmedpublic static java.lang.String md5Hex(java.lang.String fullpw)
fullpw
- non-null, plain text, already trimmedpublic static byte[] md5Sum(byte[] data)
data
- non-null