Я работаю над приложением grails, где он может сохранять SMS или электронную почту в базе данных. Эти сообщения сохраняются в зашифрованном формате.Grails: как искать ключевое слово в зашифрованном столбце и получать строки
Я пытаюсь получить строки из таблицы, используя критерии поиска по ключевым словам. Поскольку это зашифровано, я не могу найти запрос, который может искать с ключевым словом.
Я попытался добавить transients
в класс домена и расшифровать его. Вот код:
в классе домена:
static transients = ['decrypted']
String getDecrypted() {
return DESCodec.decryptText(message)
}
и
def m2 = Messages.findAll {-1 == it.getDecrypted().indexOf("xyz")};
, который не работал.
Может ли кто-нибудь сказать мне, есть ли способ получить строки, используя ключевое слово в зашифрованном столбце?
Любая помощь действительно ценится.
благодарю вас за ваше заблуждение. Когда я устал от кода, я возвращаю сообщение об ошибке «Нет сигнатуры метода: статическая безопасность.DESCodec.decryptText() применима для типов аргументов: (grails.gorm.DetachedCriteria) значения: [[email protected] ] ' – User12111111
вам нужно будет поэкспериментировать. когда у вас есть объекты, у них есть дешифрованное значение, поэтому, возможно, 'Messages.findAll(). findAll {-1 == it.decrypted.indexOf (" xyz ")};' double findAll unsure, если это работает в более поздних grails. Но ключом является запрос, чтобы получить все объекты, чтобы проверить коллекцию. недостаток, очевидно, должен собрать все данные – Vahid
да, вот в чем причина. Сбор всех данных приведет к замедлению процесса. – User12111111