|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Object org.jasypt.hibernate4.encryptor.HibernatePBEBigIntegerEncryptor
public final class HibernatePBEBigIntegerEncryptor
Placeholder class for PBEBigIntegerEncryptor objects which are eligible for use from Hibernate.
This class acts as a wrapper on a PBEBigIntegerEncryptor, allowing
to be set a registered name (see setRegisteredName(String)
)
and performing the needed registry operations against the
HibernatePBEEncryptorRegistry
.
It is not mandatory that a PBEBigIntegerEncryptor be explicitly set
with setEncryptor(PBEBigIntegerEncryptor)
. If not, a
StandardPBEBigIntegerEncryptor object will be created internally
and it will be configurable with the
setPassword(String)
/setPasswordCharArray(char[])
,
setAlgorithm(String)
, setKeyObtentionIterations(int)
,
setSaltGenerator(SaltGenerator)
and setConfig(PBEConfig)
methods.
This class is mainly intended for use from Spring Framework or some other
IoC container (if you are not using a container of this kind, please see
HibernatePBEEncryptorRegistry
). The steps to be performed are
the following:
This in a Spring config file would look like:
... <-- Optional, as the hibernateEncryptor could be directly set an --> <-- algorithm and password. --> <bean id="bigIntegerEncryptor" class="org.jasypt.encryption.pbe.StandardPBEBigIntegerEncryptor"> <property name="algorithm"> <value>PBEWithMD5AndDES</value> </property> <property name="password"> <value>XXXXX</value> </property> </bean> <bean id="hibernateEncryptor" class="org.jasypt.hibernate.encryptor.HibernatePBEBigIntegerEncryptor"> <property name="registeredName"> <value>myHibernateBigIntegerEncryptor</value> </property> <property name="encryptor"> <ref bean="bigIntegerEncryptor" /> </property> </bean> ...
And then in the Hibernate mapping file:
<typedef name="encrypted" class="org.jasypt.hibernate.type.EncryptedBigIntegerType"> <param name="encryptorRegisteredName">myHibernateBigIntegerEncryptor</param> </typedef>
An important thing to note is that, when using HibernatePBEBigIntegerEncryptor
objects this way to wrap PBEBigIntegerEncryptors, it is not
necessary to deal with HibernatePBEEncryptorRegistry
,
because HibernatePBEBigIntegerEncryptor objects get automatically registered
in the encryptor registry when their setRegisteredName(String)
method is called.
Constructor Summary | |
---|---|
HibernatePBEBigIntegerEncryptor()
Creates a new instance of HibernatePBEBigIntegerEncryptor It also creates a StandardPBEBigIntegerEncryptor for internal use, which can be overriden by calling setEncryptor(...). |
Method Summary | |
---|---|
java.math.BigInteger |
decrypt(java.math.BigInteger encryptedMessage)
Decypts a message, delegating to wrapped encryptor |
java.math.BigInteger |
encrypt(java.math.BigInteger message)
Encrypts a message, delegating to wrapped encryptor. |
org.jasypt.encryption.pbe.PBEBigIntegerEncryptor |
getEncryptor()
Returns the encryptor which this object wraps. |
String |
getRegisteredName()
Returns the name with which the wrapped encryptor is registered at the registry. |
void |
setAlgorithm(String algorithm)
Sets the algorithm to be used by the internal encryptor, if a specific encryptor has not been set with setEncryptor(...). |
void |
setConfig(org.jasypt.encryption.pbe.config.PBEConfig config)
Sets the PBEConfig to be used by the internal encryptor, if a specific encryptor has not been set with setEncryptor(...). |
void |
setEncryptor(org.jasypt.encryption.pbe.PBEBigIntegerEncryptor encryptor)
Sets the PBEBigIntegerEncryptor to be held (wrapped) by this object. |
void |
setKeyObtentionIterations(int keyObtentionIterations)
Sets the key obtention iterations to be used by the internal encryptor, if a specific encryptor has not been set with setEncryptor(...). |
void |
setPassword(String password)
Sets the password to be used by the internal encryptor, if a specific encryptor has not been set with setEncryptor(...). |
void |
setPasswordCharArray(char[] password)
Sets the password to be used by the internal encryptor (as a char[]), if a specific encryptor has not been set with setEncryptor(...). |
void |
setRegisteredName(String registeredName)
Sets the registered name of the encryptor and adds it to the registry. |
void |
setSaltGenerator(org.jasypt.salt.SaltGenerator saltGenerator)
Sets the salt generator to be used by the internal encryptor, if a specific encryptor has not been set with setEncryptor(...). |
Methods inherited from class Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public HibernatePBEBigIntegerEncryptor()
Method Detail |
---|
public org.jasypt.encryption.pbe.PBEBigIntegerEncryptor getEncryptor()
public void setEncryptor(org.jasypt.encryption.pbe.PBEBigIntegerEncryptor encryptor)
encryptor
- the encryptor.public void setPassword(String password)
password
- the password to be set for the internal encryptorpublic void setPasswordCharArray(char[] password)
password
- the password to be set for the internal encryptorpublic void setAlgorithm(String algorithm)
algorithm
- the algorithm to be set for the internal encryptorpublic void setKeyObtentionIterations(int keyObtentionIterations)
keyObtentionIterations
- to be set for the internal encryptorpublic void setSaltGenerator(org.jasypt.salt.SaltGenerator saltGenerator)
saltGenerator
- the salt generator to be set for the internal
encryptor.public void setConfig(org.jasypt.encryption.pbe.config.PBEConfig config)
config
- the PBEConfig to be set for the internal encryptorpublic java.math.BigInteger encrypt(java.math.BigInteger message)
message
- the message to be encrypted.
public java.math.BigInteger decrypt(java.math.BigInteger encryptedMessage)
encryptedMessage
- the message to be decrypted.
public void setRegisteredName(String registeredName)
registeredName
- the name with which the encryptor will be
registered.public String getRegisteredName()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |