|
|
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Есть задача замаскировать некоторые varchar поля в таблицах, не все столбцы целиком, а в отдельных строчках. Условно скрыть данные части справочника. 1. Шифрование нужно одностороннее, без возможности обратной расшифровки, без хранения ключей где бы то ни было. 2. должна быть повторяемость, т.е. если "Иванов И.И." шифруется в "876nf854^%&" то это должно быть всегда, а не каждый раз в новую строку чем проще всего? 2модератор создал две одинаковые темы в разных разделах сознательно, решение нужно и для Ora и для MS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:22 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
SintetikЕсть задача замаскировать некоторые varchar поля в таблицах, не все столбцы целиком, а в отдельных строчках. Условно скрыть данные части справочника. 1. Шифрование нужно одностороннее, без возможности обратной расшифровки, без хранения ключей где бы то ни было. 2. должна быть повторяемость, т.е. если "Иванов И.И." шифруется в "876nf854^%&" то это должно быть всегда, а не каждый раз в новую строку чем проще всего? 2модератор создал две одинаковые темы в разных разделах сознательно, решение нужно и для Ora и для MS Хэширование, но не функцией ORA_HASH. Надеюсь значения в мс-е и оракле не должны быть одинаковы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:27 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Sintetik, dbms_crypto ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:30 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Andrey.LНадеюсь значения в мс-е и оракле не должны быть одинаковы. нет не должны, есть ключевые поля если что ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:32 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
envSintetik, dbms_crypto Data of type VARCHAR2 must be converted to RAW before you can use DBMS_CRYPTO functions to encrypt it. а без конвертации как-то можно? и в SQL запросах чтобы использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:43 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
SintetikenvSintetik, dbms_crypto Data of type VARCHAR2 must be converted to RAW before you can use DBMS_CRYPTO functions to encrypt it. а без конвертации как-то можно? и в SQL запросах чтобы использовать utl_raw Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:49 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Andrey.L, а потом обратно в varchar потому что нужно записать на место оригинала пойдет, не миллионы строк шифруем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:07 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Andrey.L, а ничего что хэш не уникальный ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:09 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
123ййAndrey.L, а ничего что хэш не уникальный ? разве на осмысленной информации повторы случаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:13 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Азагаш123ййAndrey.L, а ничего что хэш не уникальный ? разве на осмысленной информации повторы случаются? Да, случаются. Чем длиннее результат, тем реже. Поэтому я и не рекомендовал использовать функцию ORA_HASH еще в самом начале. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:31 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
очередной велосипед: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:23 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Fogel, Думаю, вот это "без возможности обратной расшифровки" начальное условие невыполнимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:16 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Andrey.LFogel, Думаю, вот это "без возможности обратной расшифровки" начальное условие невыполнимо. потерять (умышленно) открытый ключ, расшифровть станет если не невозможно, то достаточно трудно ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:26 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Andrey.LFogel, Думаю, вот это "без возможности обратной расшифровки" начальное условие невыполнимо. делов-то, замени в запросе level+2 на dbms_random.value ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:28 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
FogelAndrey.LFogel, Думаю, вот это "без возможности обратной расшифровки" начальное условие невыполнимо. делов-то, замени в запросе level+2 на dbms_random.value лучше на dbms_random.value+1 - результат будет приятней взгляду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:31 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
FogelAndrey.LFogel, Думаю, вот это "без возможности обратной расшифровки" начальное условие невыполнимо. делов-то, замени в запросе level+2 на dbms_random.value автор2. должна быть повторяемость, повторяемость останется? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:37 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
StaxAndrey.LFogel, Думаю, вот это "без возможности обратной расшифровки" начальное условие невыполнимо. потерять (умышленно) открытый ключ, расшифровть станет если не невозможно, то достаточно трудно ..... stax Предлагаешь код Fogel'а обернуть в функцию, заврапить эту функцию, а автора расстрелять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 18:23 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Sintetik, DBMS_OBFUSCATION_TOOLKIT.MD5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 18:51 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
StaxFogelпропущено... делов-то, замени в запросе level+2 на dbms_random.value автор2. должна быть повторяемость, повторяемость останется? ..... stax нет ответ уже дали на вопрос Sintetik чем проще всего? 20711061 а это был "велосипед" ну можно и повторяемость при "невосстанавливаемости" обеспечить, даже не зная про "ключ" шифрования. простым дедовским методом прямого соответствия. только надо определить границы номерных кодов, используемых в словах - см. жёлтым и по всему массиву заменяемых данных пройти за 1 раз Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 19:03 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Vint, А он разве не устарел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 19:21 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Берешь начальную строку, и шифруешь её AES256 используя её же как пароль. Можно по вкусу reverse, XOR и т.д. добавить. Короткие строки можно будет взломать подбором, поэтому желательно добить размер начальной строки до минимум 16 символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 22:03 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Sintetik, Если всё делать аккуратно в ту же varchar2 колонку, используя dbms_crypto, то зашифрованная запись может не поместиться после Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 15:13 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Staxпотерять (умышленно) открытый ключ, расшифровть станет если не невозможно, то достаточно трудно нет задачи получить сверхстойкий к взлому шифр, нужно чтобы пионэры в лоб нахаляву за полчаса не расшифровали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 16:00 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Sintetikнет задачи получить сверхстойкий к взлому шифр, нужно чтобы пионэры в лоб нахаляву за полчаса не расшифровали. если снизились требования к первому пункту, может и со вторым не стоит усердствовать. я, конечно не люблю быть рукожопом, но для маркетушек в моей ТС, пытающихся анализировать активность покупателей по номерам дисконтных карт, на самом деле не очень важно, 23 раза конкретный покупатель тарился или 24 из-за того, что хэш совпал. я бы на доступном массиве проверил, так ли уж часты повторы и уже от этого отталкивался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 16:20 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Азагаш, взять конкатенацию двух разных хешив (ф-ций), то что два разных алгоритма одновременно дадут дубли вероятнось мизерная ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 16:30 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Staxвероятнось мизерная Это как смотреть. Если требуется для документально-фискальных целей или подобных - то слишком высокая. Если для какой УО - то, скорее всего, можно пренебречь. ...в качестве решения для первого случая можно предложить сохранять исходные значения в отдельной таблице, отдельной схеме. Предоставить API для точной сверки (по паре ID или по ID и образцу текста). Это даст возможность в ответственных случаях осуществлять окончательную (после поиска по хеш) проверку тождества. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 16:57 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousStaxвероятнось мизерная Если требуется для документально-фискальных целей или подобных - то слишком высокая. для "документально-фискальных" надо шифровать, а не брать хеш если чесно, то я не совсем понимаю задачу, а точнее "без возможности обратной расшифровки", для чего такое требование? тот же RSA, зашифрует на раз, без второго ключа взад никак (проблематично) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 17:09 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Staxесли чесно, то я не совсем понимаю задачу, а точнее "без возможности обратной расшифровки", для чего такое требование? Обезличить информацию в базе для дальнейшей передачи базы в суппорт\разработку\тестирование\аудит\третьей-стороне\... Вот здесь как раз и нужно "без возможности восстановить исходные данные" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 17:27 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Andrey.LStaxесли чесно, то я не совсем понимаю задачу, а точнее "без возможности обратной расшифровки", для чего такое требование? Обезличить информацию в базе для дальнейшей передачи базы в суппорт\разработку\тестирование\аудит\третьей-стороне\... Вот здесь как раз и нужно "без возможности восстановить исходные данные" ключ на внешнем носителе, не передают и все ps все-таки терзают меня смутные сомнения, что два/три разных хеша одновременно выдадут хеш дубликаты ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 17:54 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Staxвсе-таки терзают меня смутные сомнения, что два/три разных хеша одновременно выдадут хеш дубликаты Есть множество значений хеш-функции. Есть множество возможных значений данных. Хеш-функция лишь транслирует одно в другое. Если мощность второго больше мощности первого - то получаем, что нескольким значениям данных будет соответствовать одно значение хеш-функции. Две-три-пять хеш-функций тут ничего принципиально не меняют, их можно рассматривать как одну более сложную хеш-функцию. ...совпадения хешей встречал на практике, если что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 18:05 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Stax, Нам как-то подрядчик обосновывал обрезание hex-представления SHA1 от банковского PAN 16 до первых 20-ти символов при интеграции с POS-терминалами. В их выкладках получалось менее полпроцента шанса возникновения коллизии на полном возможном наборе номеров карт. Так что, скорее всего одного механизма хеширования будет достаточно. Главное, дополнять короткие строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 18:15 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Andrey.LОбезличить информацию в базе для дальнейшей передачи базы в суппорт\разработку\тестирование\аудит\третьей-стороне\... Тут может быть достаточно просто случайных значений в словарных статьях. Существует и другой вариант (экзотика) - оптимизация поиска и даже join по длинным текстовым полям. Отбор данных можно в этом случае делать по индексированному hash, а окончательную фильтрацию - по исходному значению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 18:16 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
envНам как-то подрядчик обосновывал обрезание hex-представления SHA1 от банковского PAN 16 до первых 20-ти символов при интеграции с POS-терминалами. В их выкладках получалось менее полпроцента шанса возникновения коллизии на полном возможном наборе номеров карт. А что говорят владельцы карт, попавших в "полпроцента" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 18:20 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousStaxвсе-таки терзают меня смутные сомнения, что два/три разных хеша одновременно выдадут хеш дубликаты Есть множество значений хеш-функции. Есть множество возможных значений данных. Хеш-функция лишь транслирует одно в другое. Если мощность второго больше мощности первого - то получаем, что нескольким значениям данных будет соответствовать одно значение хеш-функции. Две-три-пять хеш-функций тут ничего принципиально не меняют, их можно рассматривать как одну более сложную хеш-функцию. ...совпадения хешей встречал на практике, если что. понятно что совпадение возможно, но вероятнось будет манюхинькая напр вероятнось дубля для одного алгоритма 0.001 грубо для трех ето уже будет 0.001*0.001*0.001, мизерная ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 18:25 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Staxнапр вероятнось дубля для одного алгоритма 0.001 1. Надо показать, что вероятность на конкретном наборе данных - всего лишь .001, а не 1 2. Надо показать, что хеш-функции независимы (отсутствует корреляция), иначе правило перемножения вероятностей не действует. 3. В качестве иллюстрации: http://it.icmp.ru/post/view/4604 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 18:29 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous...совпадения хешей встречал на практике, если что. я вот в жизни не видел, чтобы "Иванов И.И." совпал по хэшу с "Петров В.В.". с плотными последовательностями чисел - видел. со строками - никогда. даже представить себе не могу, как так может получиться. по сути, последовательность фио - это капец какое разреженное множество. тут полпроцентом и не пахнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 07:12 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Азагашсо строками - никогда ну, теперь то видел, конечно, на примере писем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 07:13 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousAndrey.LОбезличить информацию в базе для дальнейшей передачи базы в суппорт\разработку\тестирование\аудит\третьей-стороне\... Тут может быть достаточно просто случайных значений в словарных статьях. Случайные значения не очень хорошо, потому как если есть какая-то таблица с историей изменений значений, то в разных строках Иванов И.И. будет представлен разными значениями и будет неясно это у него фио поменялось или же просто просто по разному зашифровали. Еще один момент, если такие шифруемые строки участвуют где-то в соединениях. При хэше соединения останутся правильными (за исключением коллизий), а при случайных значениях идут лесом. andrey_anonymousСуществует и другой вариант (экзотика) - оптимизация поиска и даже join по длинным текстовым полям. Отбор данных можно в этом случае делать по индексированному hash, а окончательную фильтрацию - по исходному значению. Еще как вариант это отслеживание изменений строки данных. т.е. собираем запись в строку с разделителем и считаем хэш и сравниваем с предыдущим сохраненным значением хэша (по одному и тому же ПК), если хэш совпал - значит данные те же, если нет - обновились. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 11:28 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
Азагаштут полпроцентом и не пахнет. А я, блин, встречал. На текстах. Закон больших чисел никто не отменял, и если работаете с большими базами - то "найдется все" (с). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 12:17 |
|
||
|
Чем проще всего зашифровать?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousАзагаштут полпроцентом и не пахнет. А я, блин, встречал. На текстах. Закон больших чисел никто не отменял, и если работаете с большими базами - то "найдется все" (с). авторУсловно скрыть данные части справочника. обычно справочники не огромные таблицы хотя справочником можно назвать и таблицу жителей планеты ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 12:36 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1885443]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
85ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 419ms |

| 0 / 0 |
