|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Object org.jasypt.hibernate4.encryptor.HibernatePBEStringEncryptor
public final class HibernatePBEStringEncryptor
Placeholder class for PBEStringEncryptor objects which are eligible for use from Hibernate.
This class acts as a wrapper on a PBEStringEncryptor, 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 PBEStringEncryptor be explicitly set
with setEncryptor(PBEStringEncryptor)
. If not, a
StandardPBEStringEncryptor object will be created internally
and it will be configurable with the
setPassword(String)
/setPasswordCharArray(char[])
,
setAlgorithm(String)
, setKeyObtentionIterations(int)
,
setSaltGenerator(SaltGenerator)
, setProviderName(String)
,
setProvider(Provider)
, setStringOutputType(String)
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="stringEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor"> <property name="algorithm"> <value>PBEWithMD5AndDES</value> </property> <property name="password"> <value>XXXXX</value> </property> </bean> <bean id="hibernateEncryptor" class="org.jasypt.hibernate.encryptor.HibernatePBEStringEncryptor"> <property name="registeredName"> <value>myHibernateStringEncryptor</value> </property> <property name="encryptor"> <ref bean="stringEncryptor" /> </property> </bean> ...
And then in the Hibernate mapping file:
<typedef name="encrypted" class="org.jasypt.hibernate.type.EncryptedStringType"> <param name="encryptorRegisteredName">myHibernateStringEncryptor</param> </typedef>
An important thing to note is that, when using HibernatePBEStringEncryptor
objects this way to wrap PBEStringEncryptors, it is not
necessary to deal with HibernatePBEEncryptorRegistry
,
because HibernatePBEStringEncryptor objects get automatically registered
in the encryptor registry when their setRegisteredName(String)
method is called.
Constructor Summary | |
---|---|
HibernatePBEStringEncryptor()
Creates a new instance of HibernatePBEStringEncryptor. |
Method Summary | |
---|---|
String |
decrypt(String encryptedMessage)
Decypts a message, delegating to wrapped encryptor |
String |
encrypt(String message)
Encrypts a message, delegating to wrapped encryptor. |
org.jasypt.encryption.pbe.PBEStringEncryptor |
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.PBEStringEncryptor encryptor)
Sets the PBEStringEncryptor 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 |
setProvider(java.security.Provider provider)
Sets the JCE provider to be used by the internal encryptor, if a specific encryptor has not been set with setEncryptor(...). |
void |
setProviderName(String providerName)
Sets the name of the JCE provider to be used by the internal encryptor, 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(...). |
void |
setStringOutputType(String stringOutputType)
Sets the type of String output ("base64" (default), "hexadecimal") 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 HibernatePBEStringEncryptor()
Method Detail |
---|
public org.jasypt.encryption.pbe.PBEStringEncryptor getEncryptor()
public void setEncryptor(org.jasypt.encryption.pbe.PBEStringEncryptor 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 setProviderName(String providerName)
providerName
- the name of the JCE provider (already registered)public void setProvider(java.security.Provider provider)
provider
- the JCE provider to be usedpublic void setStringOutputType(String stringOutputType)
stringOutputType
- the type of String outputpublic void setConfig(org.jasypt.encryption.pbe.config.PBEConfig config)
config
- the PBEConfig to be set for the internal encryptorpublic String encrypt(String message)
message
- the message to be encrypted.
public String decrypt(String 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 |