|
|
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
В моей версии майскла show global variables like 'version%' version 10.1.14-MariaDBversion_comment MariaDB Serverversion_compile_machine x86_64version_compile_os Linuxversion_malloc_library system jemallocversion_ssl_library OpenSSL 1.0.1e-fips 11 Feb 2013 Код: sql 1. Выдает � �z��L/3�3�l��u asd 1.1 Что с этим делать? 1.2 Как дальше жить? 2. Какой именно метод кодирования используется (в терминах mcrypt PHP)? 3. Хочется прийти к строке вида i9J7+wkVxEXjM9yypffAlw== или около того посредством AES 4. DES и ENCODE выдают такие же [OK] character_set_client utf8character_set_connection utf8character_set_database utf8character_set_filesystem binarycharacter_set_results utf8character_set_server utf8character_set_system utf8character_sets_dir /usr/share/mysql/charsets/ Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 03:31 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
4. DES и ENCODE выдают такие же как AES_ENCRYPT в примере - то есть кракозябры и вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 03:33 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES ENCRYPT1.1 Что с этим делать?если вы не знаете что с этим делать, то вам это не нужно. AES ENCRYPTКакой именно метод кодирования http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html#function_aes-encrypt AES_ENCRYPT() and AES_DECRYPT() implement encryption and decryption of data using the official AES (Advanced Encryption Standard) algorithm, previously known as “Rijndael.” The AES standard permits various key lengths. By default these functions implement AES with a 128-bit key length. As of MySQL 5.7.4, key lengths of 196 or 256 bits can be used, as described later.Ищите аналогичный фрагмент в доке по MariaDB. AES ENCRYPTХочется прийти к строке вида i9J7+wkVxEXjM9yypffAlw== TO_BASE64() / FROM_BASE64() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 04:02 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
miksoft, А с кодировкой то как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 11:54 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES ENCRYPT, to_base64 выдаёт строку, в которой могут присутствовать только 64 аски-символа, все с кодами не более 128 , там какую кодировку ни поставь, всё едино будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 12:07 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
miksoft, авторИщите аналогичный фрагмент в доке по MariaDB.по Марии нет отдельной документации, все как и в исходнике ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 18:31 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
https://mariadb.com/kb/en/mariadb/aes_encrypt/ Description AES_ENCRYPT() and AES_DECRYPT() allow encryption and decryption of data using the official AES (Advanced Encryption Standard) algorithm, previously known as "Rijndael." Encoding with a 128-bit key length is used, but you can extend it up to 256 bits by modifying the source. We chose 128 bits because it is much faster and it is secure enough for most purposes. AES_ENCRYPT() encrypts a string str using the key key_str, and returns a binary string. AES_DECRYPT() decrypts the encrypted string and returns the original string. The input arguments may be any length. If either argument is NULL, the result of this function is also NULL. Because AES is a block-level algorithm, padding is used to encode uneven length strings and so the result string length may be calculated using this formula: 16 x (trunc(string_length / 16) + 1) If AES_DECRYPT() detects invalid data or incorrect padding, it returns NULL. However, it is possible for AES_DECRYPT() to return a non-NULL value (possibly garbage) if the input data or the key is invalid. It is highly recommended that a passphrase is hashed first before passing it to AES_ENCRYPT. Examples INSERT INTO t VALUES (AES_ENCRYPT('text',SHA2('password',512))); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 18:42 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
просто логическое измышлениену и судя по We chose 128 bits because it is much faster and it is secure enough for most purposes AES ENCRYPT == mcrypt_encrypt(MCRYPT_RIJNDAEL_128, ... а вообще чем шифруете, тем и расшифровывайте, не смешивайте PHP и MySQL в кучу дебри, лес густой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 19:40 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovа вообще чем шифруете, тем и расшифровывайте, не смешивайте PHP и MySQL в кучу +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 19:55 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
tanglirAES ENCRYPT, to_base64 выдаёт строку, в которой могут присутствовать только 64 аски-символа, все с кодами не более 128 , там какую кодировку ни поставь, всё едино будет Не подходит. Это нужно,чтобы был ключ. Мне бы про кодировку понять, почему возвращаются знаки вопросов в bdForge? У меня задача при случае имея ключ просмотреть данные в самой бд, а не только на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 00:43 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES ENCRYPTМне бы про кодировку понять, почему возвращаются знаки вопросов в bdForge?Потому что не для всех кодов символов существует отображаем символ. AES ENCRYPTУ меня задача при случае имея ключ просмотреть данные в самой бд, а не только на клиенте.Ну так в БД и шифруйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 02:28 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
miksoftAES ENCRYPTУ меня задача при случае имея ключ просмотреть данные в самой бд, а не только на клиенте.Ну так в БД и шифруйте. У меня трех-звенка. БД <=> WebAPI <=> Клиентское приложение Я хочу потенциально БД защитить, чтобы влезая туда не было возможности понять что там произошло. Все реализовано на хранимках. Соответственно ни в БД, ни в WebAPI этого делать нельзя, потому как они лежат на одном сервере. Если кто-то залезет и получит доступ к БД и скриптам - получится плохо. Это не из области фантастики - просто бд лежит на хостинге банально, следовательно вся защита - это что в уме у админа и хозяина хостинга. Потому best_of_all это шифровать/дешифровать на клиенте. Но при этом хочется иметь возможности выполнить код в БД при необходимости, например, на локальном, чтобы делать какие-то изменения не клиентом, а в БД - гибкости добавляет. Вот я и ищу способы как это сделать. В том числе пытаюсь понять как этот AES в MySQL кодирует и как это повторить в клиентском приложении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 04:10 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES ENCRYPT, у вас ПХП тоже на удаленке. Т.е. по логике - шифровать в ПХП тоже отпадает. Хотите на клиенте? Тогда это надо полноценное клиентское приложение, которое и будет включать модуль шифрования. Только вам будет известно , как же там что шифруется (до взлома, если это кому то надо). Веб-сайт будет работать только для централизации обновлений Как ни крути, вытекает один вывод - не придумывайте велосипед. 1. Либо доверяйте хостеру, 2. либо сервер ставьте свой физический сервак в ваше личное секретное место (провайдеры сейчас могут обеспечить и статическим IP и достойным каналом, домены тоже недорогие) 3. Либо оставьте эту затею - только охраняемый от внешнего физического доступа сервер имеет надежную защиту Много шуток, но в каждой есть доля правды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 07:34 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES ENCRYPT, php - это уже само по себе дыра. клиент - браузер? - открытый код, только ленивый не будет дебажить. и никакая шифрация не спасёт. самое простое и надёжное - свой сервак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 08:52 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
Спасибо. Но как всегда не прошенные советы и мнения. Давайте по существу. Клиент нормальный и полноценный. Не тонкий. Мобильное приложение, десктопное, для мак. И тд. Задача - это иметь возможность прогнать данные через дешифрацию на сервере. Для этого в бд и на клиенте надо иметь одинаковые алгоритмы дешифрации с ключом. Толи АЕС встроить в клиента (то есть на клиенте тоже надо получить знаки вопроса при энкрипте), толи в бд функцию писать, что вообще не факт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 12:16 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES ENCRYPTс ключомВот именно, что "с ключом". Если будете запускать какие-то запросы на сервере, ключ во время их выполнения туда попадёт, и если уж хостер так стремится завладеть вашими сверхценными дынными, тут-то он его(ключ) и цап!(с). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 12:30 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES ENCRYPTМне бы про кодировку понять Какое слово из "AES_ENCRYPT() encrypts a string str using the key key_str, and returns a binary string " Вам непонятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 13:49 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES ENCRYPTВсе реализовано на хранимках.Шифруйте данные в БД. Передавайте в хранимки пароль через параметры, чтобы не зашивать его внутрь открытым текстом. AES ENCRYPTПотому best_of_all это шифровать/дешифровать на клиентеНасчет "best" - не факт. Часть функционала БД вы при этом можете потерять, например, индексы. Запрос вида Код: sql 1. потребует расшифровки всех записей таблицы и не сможет использовать индекс для ускорения поиска нужных записей. AES ENCRYPTНо как всегда не прошенные советы и мнения.Ну так странно городить бронированную калитку при дырявом заборе. AES ENCRYPTпросто бд лежит на хостинге банально, следовательно вся защита - это что в уме у админа и хозяина хостинга.При таких требованиях к защите, минимальный вариант - арендованный физический (в том смысле, что не виртуальный) выделенный сервер, на котором всё, начиная с ОС, установлено и настроено доверенным и квалифицированным админом. Лучше же, конечно, как говорили выше, свой сервер на своей территории под своим присмотром. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 19:07 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
tanglirAES ENCRYPTс ключомВот именно, что "с ключом". Если будете запускать какие-то запросы на сервере, ключ во время их выполнения туда попадёт, и если уж хостер так стремится завладеть вашими сверхценными дынными, тут-то он его(ключ) и цап!(с). Я ж писал - запускать можно и локально - слил, сделал, залил. Только давайте не будем писать что "сделаьт это в скрипте/клиенте - тоже самое"))) не тоже самое ))) Dimitry Sibiryakov Нужно повторить тоже самое в клиенте. Получится ли например в дельфи получить такое же с вопросами? Вы же дельфист, да?)) miksoft Шифруйте данные в БД. Передавайте в хранимки пароль через параметры, чтобы не зашивать его внутрь открытым текстом.Это то, о чем говорит tabglir и то, о чем я выше сказал, что не вариант. Но опять же - это понятно. Хотелось бы шифровать без БД, но иметь БД-вариант как условный "фейловер". Насчет "best" - не факт. Часть функционала БД вы при этом можете потерять, например, индексы. Запрос вида Согласен. Но этого не требуется. И не потребуется. В приложениях это не нужно. Да и это можно сделать на клиенте, что собственно и делается. Хотя в будущем, через пару лет, это может понадобиться. Единственное место где это используется - это поиск клиента, когда оператор вбивает в карточку. Сейчас пока база маленькая, все клиенты грузятся при запуске. Потом станет больше и наверное будет дорого их грузить. Правда это долгий период. До 5ти лет займет для существенного прироста. макс вес строки 200 байт. А прирост 3-5 клиента в день. Думаю до того времени вообще всё поменяется не один раз. Ну так странно городить бронированную калитку при дырявом заборе. При таких требованиях к защите, минимальный вариант - арендованный физический (в том смысле, что не виртуальный) выделенный сервер, на котором всё, начиная с ОС, установлено и настроено доверенным и квалифицированным админом. Лучше же, конечно, как говорили выше, свой сервер на своей территории под своим присмотром. Не прошенные в том смысле, что а) это понятно и б) вопрос был не про это. Я сторонник того, чтобы говорить по существу, без отвлеканий в сторону. Много сил бестолку. Если бы все это можно было реализовать атк, я бы так и сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2016, 23:31 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES CRYPTНужно повторить тоже самое в клиенте. Получится ли например в дельфи получить такое же с вопросами? Да, array of byte в Delphi существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 13:42 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovAES CRYPTНужно повторить тоже самое в клиенте. Получится ли например в дельфи получить такое же с вопросами? Да, array of byte в Delphi существует. И проверить получится? Сделать например ShowMessage, вставить в SELECT AES_DECRYPT и получить тоже самое значение, а не null? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 15:38 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES ENCRYPTИ проверить получится? Ну откуда же мне-то знать получится у тебя или нет?.. Судя по этому топику - это выше твоих способностей лет на пять, но кто знает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 13:43 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
AES CRYPTПолучится ли например в дельфи получить такое же с вопросами?Дались вам эти вопросы... Визуально отображать зашифрованные данные нет никакого смысла. Если так уж хочется читабельности - отображайте в HEX-е или в Base64. AES CRYPTДа и это можно сделать на клиенте, что собственно и делается.Т.е. вы тащите всю таблицу на клиента? А зачем вам вообще тогда СУБД? Я бы в таком случае вообще только шифрованный файл на хостинг помещал. А уж внутри файл с данными для локальной СУБД или вообще файл своего формата - дело второе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 22:21 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
miksoftAES CRYPTПолучится ли например в дельфи получить такое же с вопросами?Дались вам эти вопросы... Визуально отображать зашифрованные данные нет никакого смысла. Если так уж хочется читабельности - отображайте в HEX-е или в Base64. AES CRYPTДа и это можно сделать на клиенте, что собственно и делается.Т.е. вы тащите всю таблицу на клиента? А зачем вам вообще тогда СУБД? Я бы в таком случае вообще только шифрованный файл на хостинг помещал. А уж внутри файл с данными для локальной СУБД или вообще файл своего формата - дело второе. Я не к тому, чтобы отображать зашифрованные данные)))) это глупость какая-то))) я к тому, чтобы добиться идентичного результата шифрования и проверить на скульном декрипте, скопировав значение через буфер. Да, получается что тащу. Пока что. По-другому никак пока. Мне нужно, чтобы по мере ввода в приложении фильтровался список. Делать перезапрос по таймеру может быть довольно долго. Да и штатными средствами винды показывающей попап так все равно с поздапросрм не сделать. Есть и другие задачи. Поэтому пока так. Без сжатия и через джсон. И не напрямую в бд. Заморочек с файлами будет больше, учитывая возможный одновременный доступ. В общем я как всегда ценю подсказки и приглашения решить все иначе, но настаиваю на своем решении и обсуждении этого пути, а не другим. Параллельно есть ещё просто интерес с этим разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 22:37 |
|
||
|
Этот удивительный AES_ENCRYPT
|
|||
|---|---|---|---|
|
#18+
ну есть же исходники , посмотрите как пришпилить к приложению, сравнить то можно ради интересно, просто не понятен логический путь шифрования дешифровки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2016, 22:52 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39290068&tid=1831498]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
155ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 454ms |

| 0 / 0 |
