|
|
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
Добрый день Кто знает максимально лаконичный и шустрый способ изменить уникальное строковое поле в таблице (до неузнаваемости :) т.е. просто приклеить PK вначале и обрезать до длины поля не пойдет - нужно испортит лексическую узнаваемость), не нарушая эту самую уникальность? Интересует именно возможность это сделать в одном скрипте стандартными средствами без нагромождения свои функций по маскированию, с заменами символов, побитовых сдвигов и т.д. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 13:38:28 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 13:42:41 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
SantaSem, например, приклеить pk к рандомной строке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 13:58:45 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
orawishSantaSem, например, приклеить pk к рандомной строкенет там РК, да и обрезание по длине поля нужно же будет делать... в принипе select translate('12345','12345','54321') from dual подходит, если в него впилить случайный алгоритм маскирования символов, чтобы маска менялась и не была постоянной типа меняем всегда 'а' на 'б'... спасибо Elic ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 14:13:11 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
SantaSemобрезание по длине поля нужно же будет делать... ?? Код: plsql 1. 2. 3. конкатенировать сюда последовательность - и велкам на баррикады... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 14:39:29 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
SantaSemorawishSantaSem, например, приклеить pk к рандомной строкенет там РК, да и обрезание по длине поля нужно же будет делать... в принипе select translate('12345','12345','54321') from dual подходит, если в него впилить случайный алгоритм маскирования символов, чтобы маска менялась и не была постоянной типа меняем всегда 'а' на 'б'... спасибо ElicТогда ты легко можешь порушить уникальность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 14:45:17 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровТогда ты легко можешь порушить уникальностьНеповторяемость цифр подразумевается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 14:53:45 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
Я имел ввиду, что если каждая строка имеет свою маску (соответствие из->в), то можно нарваться 1 строка 123, translate('123', '123', '321') = 321 2 строка 132, translate('132', '123', '312') = 321 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 14:57:41 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousSantaSemобрезание по длине поля нужно же будет делать... ?? Код: plsql 1. 2. 3. конкатенировать сюда последовательность - и велкам на баррикады...dbms_random.string - очень долго работает, рандом было самым первым о чем подумалось.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:08:20 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровЯ имел ввиду, что если каждая строка имеет свою маску (соответствие из->в), то можно нарваться 1 строка 123, translate('123', '123', '321' ) = 321 2 строка 132, translate('132', '123', '312' ) = 321 я имел ввидду, что "маска" будет генерироваться непосредственно перед искажением данных, но каждый раз разная, а не прошитая в коде явно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:16:26 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
SantaSem, а Dbms_Crypto.Hash не подойдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 11:20:19 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
SantaSemнужно испортит лексическую узнаваемость Ну если просто неузнаваемо, то XOR. :) Если посложнее - то на каждое вновь встретившееся слово (строку) генерить новую случайную (с условием, что такая не встречалась среди нагенеренных). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 15:49:43 |
|
||
|
Маскирование уникальных строк
|
|||
|---|---|---|---|
|
#18+
MigelleSantaSem, а Dbms_Crypto.Hash не подойдет?долго будет работать и ORA_HASH тоже... на больших объемах генерация чего либо для каждой отдельной строки умирает.. так что никакой генерации, translate для моих целей подошел отлично, случайно только генерация пары тройки случайных символов замены в общем алфавите в самом начале (типа ключ, который каждый раз будет разным), а остальное стандартный константный набор для замены, затем изменение строк и удаление ddl которое осуществляло маскирование полностью исключают быструю обратную расшифровку.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 12:41:18 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39288901&tid=1887659]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
287ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 562ms |

| 0 / 0 |
