RouterPasswordManagerpublic 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