Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Маскирование уникальных строк / 14 сообщений из 14, страница 1 из 1
09.08.2016, 13:38:28
    #39288892
SantaSem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
Добрый день
Кто знает максимально лаконичный и шустрый способ изменить уникальное строковое поле в таблице (до неузнаваемости :) т.е. просто приклеить PK вначале и обрезать до длины поля не пойдет - нужно испортит лексическую узнаваемость), не нарушая эту самую уникальность?
Интересует именно возможность это сделать в одном скрипте стандартными средствами без нагромождения свои функций по маскированию, с заменами символов, побитовых сдвигов и т.д.

Спасибо
...
Рейтинг: 0 / 0
09.08.2016, 13:42:41
    #39288901
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
Код: plsql
1.
translate
...
Рейтинг: 0 / 0
09.08.2016, 13:58:45
    #39288916
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
SantaSem,

например, приклеить pk к рандомной строке
...
Рейтинг: 0 / 0
09.08.2016, 14:13:11
    #39288937
SantaSem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
orawishSantaSem,

например, приклеить pk к рандомной строкенет там РК, да и обрезание по длине поля нужно же будет делать... в принипе select translate('12345','12345','54321') from dual подходит, если в него впилить случайный алгоритм маскирования символов, чтобы маска менялась и не была постоянной типа меняем всегда 'а' на 'б'... спасибо Elic
...
Рейтинг: 0 / 0
09.08.2016, 14:39:29
    #39288963
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
SantaSemобрезание по длине поля нужно же будет делать...
??
Код: plsql
1.
2.
3.
-- псевдослучайные строки псевдослучайной длины в диапазоне от 3 до 6 символов
select dbms_random.string(chr(dbms_random.value(32,127)), dbms_random.value(3,6))
from dual connect by level < 10;


конкатенировать сюда последовательность - и велкам на баррикады...
...
Рейтинг: 0 / 0
09.08.2016, 14:45:17
    #39288969
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
SantaSemorawishSantaSem,

например, приклеить pk к рандомной строкенет там РК, да и обрезание по длине поля нужно же будет делать... в принипе select translate('12345','12345','54321') from dual подходит, если в него впилить случайный алгоритм маскирования символов, чтобы маска менялась и не была постоянной типа меняем всегда 'а' на 'б'... спасибо ElicТогда ты легко можешь порушить уникальность
...
Рейтинг: 0 / 0
09.08.2016, 14:53:45
    #39288979
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
Вячеслав ЛюбомудровТогда ты легко можешь порушить уникальностьНеповторяемость цифр подразумевается.
...
Рейтинг: 0 / 0
09.08.2016, 14:57:41
    #39288985
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
Я имел ввиду, что если каждая строка имеет свою маску (соответствие из->в), то можно нарваться
1 строка 123, translate('123', '123', '321') = 321
2 строка 132, translate('132', '123', '312') = 321
...
Рейтинг: 0 / 0
09.08.2016, 16:08:20
    #39289072
SantaSem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
andrey_anonymousSantaSemобрезание по длине поля нужно же будет делать...
??
Код: plsql
1.
2.
3.
-- псевдослучайные строки псевдослучайной длины в диапазоне от 3 до 6 символов
select dbms_random.string(chr(dbms_random.value(32,127)), dbms_random.value(3,6))
from dual connect by level < 10;


конкатенировать сюда последовательность - и велкам на баррикады...dbms_random.string - очень долго работает, рандом было самым первым о чем подумалось..
...
Рейтинг: 0 / 0
09.08.2016, 16:16:26
    #39289093
SantaSem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
Вячеслав ЛюбомудровЯ имел ввиду, что если каждая строка имеет свою маску (соответствие из->в), то можно нарваться
1 строка 123, translate('123', '123', '321' ) = 321
2 строка 132, translate('132', '123', '312' ) = 321 я имел ввидду, что "маска" будет генерироваться непосредственно перед искажением данных, но каждый раз разная, а не прошитая в коде явно...
...
Рейтинг: 0 / 0
10.08.2016, 11:20:19
    #39289500
Migelle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
SantaSem,

а Dbms_Crypto.Hash не подойдет?
...
Рейтинг: 0 / 0
11.08.2016, 15:49:43
    #39290406
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
SantaSemнужно испортит лексическую узнаваемость
Ну если просто неузнаваемо, то XOR. :)
Если посложнее - то на каждое вновь встретившееся слово (строку) генерить новую случайную (с условием, что такая не встречалась среди нагенеренных).
...
Рейтинг: 0 / 0
11.08.2016, 15:53:57
    #39290413
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
SantaSem,

рассмотрите ORA_HASH
...
Рейтинг: 0 / 0
17.08.2016, 12:41:18
    #39293217
SantaSem
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маскирование уникальных строк
MigelleSantaSem,
а Dbms_Crypto.Hash не подойдет?долго будет работать и ORA_HASH тоже... на больших объемах генерация чего либо для каждой отдельной строки умирает.. так что никакой генерации, translate для моих целей подошел отлично, случайно только генерация пары тройки случайных символов замены в общем алфавите в самом начале (типа ключ, который каждый раз будет разным), а остальное стандартный константный набор для замены, затем изменение строк и удаление ddl которое осуществляло маскирование полностью исключают быструю обратную расшифровку..
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Маскирование уникальных строк / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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