|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jboss.seam.security.crypto.PBKDF2Engine
public class PBKDF2Engine
Copied from Matthias Gartner's PKCS#5 implementation - see http://rtner.de/software/PBKDF2.html
Request for Comments: 2898 PKCS #5: Password-Based Cryptography Specification
Version 2.0
PBKDF2 (P, S, c, dkLen)
Options:
Input:
Output:
A free Java implementation of Password Based Key Derivation Function 2 as defined by RFC 2898. Copyright (c) 2007 Matthias Gärtner
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
For Details, see http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
| Field Summary | |
|---|---|
protected PBKDF2Parameters |
parameters
|
protected PRF |
prf
|
| Constructor Summary | |
|---|---|
PBKDF2Engine()
Constructor for PBKDF2 implementation object. |
|
PBKDF2Engine(PBKDF2Parameters parameters)
Constructor for PBKDF2 implementation object. |
|
PBKDF2Engine(PBKDF2Parameters parameters,
PRF prf)
Constructor for PBKDF2 implementation object. |
|
| Method Summary | |
|---|---|
protected void |
_F(byte[] dest,
int offset,
PRF prf,
byte[] S,
int c,
int blockIndex)
Function F. |
protected void |
assertPRF(byte[] P)
Factory method. |
protected int |
ceil(int a,
int b)
Integer division with ceiling function. |
byte[] |
deriveKey(String inputPassword)
Convert String-based input to internal byte array, then invoke PBKDF2. |
byte[] |
deriveKey(String inputPassword,
int dkLen)
Convert String-based input to internal byte array, then invoke PBKDF2. |
PBKDF2Parameters |
getParameters()
Allow reading of configured parameters. |
PRF |
getPseudoRandomFunction()
Get currently set Pseudo Random Function. |
protected void |
INT(byte[] dest,
int offset,
int i)
Four-octet encoding of the integer i, most significant octet first. |
protected byte[] |
PBKDF2(PRF prf,
byte[] S,
int c,
int dkLen)
Core Password Based Key Derivation Function 2. |
void |
setParameters(PBKDF2Parameters parameters)
Allow setting of configured parameters. |
void |
setPseudoRandomFunction(PRF prf)
Set the Pseudo Random Function to use. |
boolean |
verifyKey(String inputPassword)
Convert String-based input to internal byte arrays, then invoke PBKDF2 and verify result against the reference data that is supplied in the PBKDF2Parameters. |
protected void |
xor(byte[] dest,
byte[] src)
Block-Xor. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected PBKDF2Parameters parameters
protected PRF prf
| Constructor Detail |
|---|
public PBKDF2Engine()
public PBKDF2Engine(PBKDF2Parameters parameters)
parameters - Data holder for iteration count, method to use et cetera.
public PBKDF2Engine(PBKDF2Parameters parameters,
PRF prf)
parameters - Data holder for iteration count, method to use et cetera.prf - Supply customer Pseudo Random Function.| Method Detail |
|---|
public byte[] deriveKey(String inputPassword)
PBKDF2
deriveKey in interface PBKDF2inputPassword - Candidate password to compute the derived key for.
public byte[] deriveKey(String inputPassword,
int dkLen)
PBKDF2
deriveKey in interface PBKDF2inputPassword - Candidate password to compute the derived key for.dkLen - Specify desired key length
public boolean verifyKey(String inputPassword)
PBKDF2
verifyKey in interface PBKDF2inputPassword - Candidate password to compute the derived key for.
true password match; false incorrect
passwordprotected void assertPRF(byte[] P)
P - User-supplied candidate password as array of bytes.public PRF getPseudoRandomFunction()
PBKDF2
getPseudoRandomFunction in interface PBKDF2
protected byte[] PBKDF2(PRF prf,
byte[] S,
int c,
int dkLen)
prf - Pseudo Random Function (i.e. HmacSHA1)S - Salt as array of bytes. null means no salt.c - Iteration count (see RFC 2898 4.2)dkLen - desired length of derived key.
protected int ceil(int a,
int b)
a - b -
protected void _F(byte[] dest,
int offset,
PRF prf,
byte[] S,
int c,
int blockIndex)
dest - Destination byte bufferoffset - Offset into destination byte bufferprf - Pseudo Random FunctionS - Salt as array of bytesc - Iteration countblockIndex -
protected void xor(byte[] dest,
byte[] src)
dest - src -
protected void INT(byte[] dest,
int offset,
int i)
dest - offset - i - public PBKDF2Parameters getParameters()
PBKDF2
getParameters in interface PBKDF2public void setParameters(PBKDF2Parameters parameters)
PBKDF2
setParameters in interface PBKDF2public void setPseudoRandomFunction(PRF prf)
PBKDF2
setPseudoRandomFunction in interface PBKDF2prf - Pseudo Random Function to set.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||