Я использую jasypt-1.9.2.jar в веб-приложении весны 4.1.1.Шифровать даты с помощью Jasyp: исключение пароля не установлено
У меня есть необходимость шифровать как даты, так и строки в базе данных.
Я ввожу глобальный пароль во время выполнения через веб-форму. Процесс хорошо работает для строк, но когда я пытаюсь читать/писать дату, я получаю исключение:
org.jasypt.exceptions.EncryptionInitializationException: Password not set for Password Based Encryptor
мой пакет-info.class находится в том же пакете, участвующие в объектных компонентах:
/**
* Declaring system wide encrypted DataBase columns
*/
@TypeDefs({
@TypeDef(
name="encryptedString",
typeClass = EncryptedStringType.class,
parameters = {
@Parameter(name="encryptorRegisteredName", value="strongHibernateStringEncryptor")
}
),
@TypeDef(
name="encryptedDate",
typeClass = EncryptedDateAsStringType.class,
parameters = {
@Parameter(name="encryptorRegisteredName", value="strongHibernateStringEncryptor")
}
)
})
@FilterDefs({
@FilterDef(name = "filterIgnoreCancelled", defaultCondition = "billing_status != :billing_status_param", parameters = { @ParamDef(name = "billing_status_param", type = "string") })
})
package com.synaptic.db.beans;
import org.hibernate.annotations.FilterDef;
import org.hibernate.annotations.FilterDefs;
import org.hibernate.annotations.ParamDef;
import org.hibernate.annotations.Parameter;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;
import org.jasypt.hibernate4.type.EncryptedDateAsStringType;
import org.jasypt.hibernate4.type.EncryptedStringType;
Я объявляю зашифрованное поле с аннотацией: @type (тип = "encryptedDate") или @type (тип = "encryptedString")
Любая идея о том, что я делаю не так? он отлично работает для строк, но я получаю исключение для дат.