powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Поиск подстроки в зашифрованном текстовом BLOB поле
20 сообщений из 20, страница 1 из 1
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39232944
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Код: sql
1.
SELECT AES_DECRYPT(`namefield`,'key') FROM `mybase` WHERE `namefield` LIKE AES_ENCRYPT('Tекст','key')


Как я понял, поиск в blob осуществляется только с учетом регистра. Значит, LIKE с '% текст овый%' облом?
Если я ошибаюсь, подскажите как правильно написать запрос.
Спасибо.
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39232945
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что AES_ENCRYPT('Tекст','key') и AES_ENCRYPT('текст','key') дают разные результаты. Совсем разные. Так что если хотите искать без учёта регистра - создавайте ещё одно поле, в котором будет AES_DECRYPT(LOWER(`namefield`),'key'), и ищите по нему, приводя искомый текст к такому же регистру.
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39232946
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirDECRYPTENCRYPT, конечно же
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39232947
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятно.tanglirсоздавайте ещё одно поле, тогда оно тоже должно быть зашифрованным? Допустим. А если мне нужен LIKE с '%%' как должен выглядеть запрос?
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39232954
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возможно, я не верно сформулировал вопрос.
Возможен ли поиск подстроки (части слова) в зашифрованном поле типа LOWER(blob) с использованием LIKE '%%'?
Вероятно, нет..
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39232960
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexSes,

нет
иначе какой смысл его шифровать?..
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233065
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ясно, спасибо!
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233081
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SELECT AES_DECRYPT(`namefield`,'key') FROM `mybase` WHERE AES_DECRYPT(`namefield`,'key') LIKE '%Tекст%' COLLATE регистронезависимый_коллейт

Код: sql
1.
SELECT AES_DECRYPT(`namefield`,'key') FROM `mybase` WHERE UPPER(AES_DECRYPT(`namefield`,'key')) LIKE '%TЕКСТ%'

Но, правда, таблицу будет читать всю и всю расшифровывать. Т.е. это дорогой запрос.

То ли я не понял вопроса...
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233140
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftНо, правда, таблицу будет читать всю и всю расшифровывать. Т.е. это дорогой запрос.вот я и спросил, какой тогда смысл в этом шифровании.
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233173
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какой тогда смысл в этом шифрованиив смысле, "смысл"?
Я думал шифрование нужно для того, чтобы тот, кто стащил БД не мог прочесть её. Или вы про что-то другое?
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233177
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexSes,

ну тогда делайте как миксофт показал и готовьтесь на вопросы типа "а чего оно по полчаса одно слово ищет?" отвечать "безопасность прежде всего!"

ЗЫ. если кто-то стащил бд, то скорее всего пить боржоми уже поздно...
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233187
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, я понял, что запрос может выполняться долго.
Спасибо всем за участие!
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233204
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ага, запрос построен и работает без UPPER и COLLATE. Еще раз спасибо за наводку!
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233207
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexSesи работает без UPPER и COLLATEесли вы искомый текст вводите в том же регистре, то конечно ни то, ни другое не требуется.
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233211
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexSesработает без UPPER и COLLATEВозможно, коллейшн всей базы регистронезависимый.
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233246
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirAlexSesи работает без UPPER и COLLATEесли вы искомый текст вводите в том же регистре, то конечно ни то, ни другое не требуется.нет, без разницы. Всё находит.
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233253
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftВозможно, коллейшн всей базы регистронезависимый. Да, collate задан для всей базы
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233258
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexSesmiksoftВозможно, коллейшн всей базы регистронезависимый. Да, collate задан для всей базыПонятно, что задан. Он не может быть не задан. Вопрос в том - какой?
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233262
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
utf8_general_ci
...
Рейтинг: 0 / 0
Поиск подстроки в зашифрованном текстовом BLOB поле
    #39233899
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а вот, фик! Без collate только с учетом регистра. Вчера уже поздно было, проглядел.
Код: sql
1.
SELECT CAST(AES_DECRYPT(`namefield`,'key') AS CHAR)  FROM `mybase` WHERE AES_DECRYPT(`namefield`,'key') LIKE '%Tекст%' COLLATE utf8_general_ci

так, вроде, правильно.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Поиск подстроки в зашифрованном текстовом BLOB поле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]