powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ряд уникальных значений.
19 сообщений из 19, страница 1 из 1
Ряд уникальных значений.
    #36467441
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MD5 выдает 32 разрядную уникальную строку.
Как сделать, что-то подобное, но на 8 разрядов? Например, используя цифры и регистрозависимые буквы.
Может есть уже готовые функции, алгоритмы или решения?
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36467451
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и хотелось бы чтобы также как в MD5 вычислять эту строку и она также "лавинообразно" изменялась при изменении одного символа во входном параметре. :)
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36467461
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,

MD5 - это не генератор случайных чисел. MD5 подвержен коллизиям. У вас явно неправильно выбрано средство реализации под задачу.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36467505
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymAIS,

MD5 - это не генератор случайных чисел. MD5 подвержен коллизиям. У вас явно неправильно выбрано средство реализации под задачу.
В том то и дело, что мне не надо как в MD5 "миллионы-миллиардов" значений, в которых можно найти коллизии.
Мне достаточно миллион, который будет формироваться на основе конкретного ряда значений (например, чисел от 0 до 1млн.), и который без труда можно будет в конце перед применением проверить на коллизии.

Идея состоит в том, чтобы заменить id_строк в таблице БД, которые сейчас числа, на вот такой ряд уникальных идентификаторов.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36467532
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,

чем вам не подходит AI PK? Обеспечение гарантии отсутствия коллизий хотя бы на 1 млн. разных значений вам встанет достаточно дорого. Но 1 млн. закончится достаточно быстро.

Был тут недавно вопрос от человека - ему якобы заказчик поставил задачу, чтобы добавление в базу шло не по порядку (AI PK), а рандомно. Зачем такие требования, четко человек объяснить так и не смог - по всей видимости для выборки не по порядку. Такая задача решается правильно иначе - отдельной колонкой, в которую триггером ли или составлением запроса на клиенте дописывается рандомное значение, при этом требование их уникальности даже соблюдать не придется (хотя вероятность коллизии будет очень мала), и PK останется атомарен.

Сдается мне у вас нечто похожее.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36467653
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,

1. в 8 бит миллион не помещается.
2. читаем в википедии про хэш и связанные алгоритмы - может найдете подходящий
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36467679
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISИдея состоит в том, чтобы заменить id_строк в таблице БД, которые сейчас числа, на вот такой ряд уникальных идентификаторов.
А может, стоит вначале огласить СУБД? Авось, уже что-нибудь встроенное в ней есть.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36467740
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISИдея состоит в том, чтобы заменить id_строк в таблице БД, которые сейчас числа, на вот такой ряд уникальных идентификаторов.
Проверьте у специалистов по используемой БД, что эту идею стоит реализовывать.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468004
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за такое живое участие.
Постараюсь ответить сразу всем и повторюсь ещё раз про идею:
Есть БД FireBird_embed в открытом виде. Коль её нельзя защитить штатными средствами (т.к. их нет), а внешние средства защиты платные либо не подходят, то есть идея воспользоваться методом "Обфускации", т.е. запутать на сколько это возможно БД, чтобы она работала только с одним моим ПО.
На первом этапе есть желание в ключевых таблицах поменять РК, чтобы разорвать явную видимость отношений между таблицами.
an0nym...Обеспечение гарантии отсутствия коллизий хотя бы на 1 млн. разных значений вам встанет достаточно дорого. Но 1 млн. закончится достаточно быстро.
Есть таблица в которой id_pk числа от 1 до N, где планируется что N<1млн.
Каждому значению id_pk будет соответствовать 8 символьная строка из цифр и регистрозависимых букв. В цикле прогнать id_pk и проверить наличие коллизий не составит труда.
Siemargl1. в 8 бит миллион не помещается.
2. читаем в википедии про хэш и связанные алгоритмы - может найдете подходящий
1. в 8 разрядов (точнее символов в строке) поместится намного больше.
Код: plaintext
1.
 /*Вообще-то планируется, что это "Число сочетаний с повторениями" из К по 8, где*/
 К=10цифр+(~30букв)*2регистра.
Обратите внимание - это 8 регистрозависимых символов. Собственно это и нужно, чтобы было значительно больше и не было видимой связи между id_pk/цифрой и id_pk/строкой. Конечно длину id_pk/строки можно ещё уменьшить при необходимости.
2. Читаю, ищу. :)
softwarerПроверьте у специалистов по используемой БД, что эту идею стоит реализовывать.
У специалистов взгляды на такого рода проблему координально расходятся с моими на предмет наличия штатной защиты у FB.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468039
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,

ИМХО, такая обфускация бессмысленна. Всё равно связи отследить будет достаточно легко.

Если вы пытаетесь защитить БД с данными пользователя от воровства с компьютера пользователя - зашифруйте её.

Если вы пытаетесь защитить свои данные в БД, которую вы полностью передаете на компьютер пользователю... ИМХО, миссия невыполнима.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468052
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS ,
сам себя поправлю: имелось ввиду
Код: plaintext
1.
2.
3.
4.
"Упорядочное Размещение из n элементов по k"
/*если n=~70, то при k=8 результат равен*/
 576   480   100   000   000 
/*а при k=4*/
 24   010   000 
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468083
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymAIS,

ИМХО, такая обфускация бессмысленна. Всё равно связи отследить будет достаточно легко.

Если вы пытаетесь защитить БД с данными пользователя от воровства с компьютера пользователя - зашифруйте её.

Если вы пытаетесь защитить свои данные в БД, которую вы полностью передаете на компьютер пользователю... ИМХО, миссия невыполнима.
Любое что затруднит несанкционированные действия с БД и отсечет какое-нибудь количество "взломщиков", уже имеет смысл. Как раз в этом, как я пониманию, и есть польза обфускации.
Данные в БД действительно шифруються, но только ключевые, т.к. это влияет на производительность, а остальное хочется "запутать" и "логику понимания" этого запутанного разместить непосредственно в ПО.
Есть уверенность, что "малой кровью" можно отсечь всех "любознательных", "интересующихся" и "жадных". :)
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468102
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS, может быть лучше подумать над юридической чистотой всего этого. В конце-концов должна быть заявлена особенность данного ПО.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468172
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonAIS, может быть лучше подумать над юридической чистотой всего этого.
Это Вы про что именно?
maytonВ конце-концов должна быть заявлена особенность данного ПО.
О-о, это сверх узкоспециализированное ПО+БД и ориентированна на такую же специфичную целевую аудиторию.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468246
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты занимаешся безнадёжным и неблагодарным делом ИМХО.

По теме - если тебе надо однозначно преобразовывать primary keys, или прочие keys в шифрованные - используй любой блочный шифр. Размер блока можно выбрать минимальным или кратным макс. длине ключа. Но это всё равно мера временная. Если база очень ценна и интересна - твой код можно разобрать на атомы и понять что к чему.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468251
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чёт совсем не понятно. Файрбёрд - серверная база. Ну, запаролить её и все дела.
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468253
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея за две копейки:

-средние 4 байта - или сколько нужно - оригинальный ИД, или простая функция от него (XOR const)
-остальные 4 - рандом

И уникальность есть и фиг поймешь (до дизассемблера).
С сортировкой по ид только фигово )
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468307
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТы занимаешся безнадёжным и неблагодарным делом ИМХО.

По теме - если тебе надо однозначно преобразовывать primary keys, или прочие keys в шифрованные - используй любой блочный шифр. Размер блока можно выбрать минимальным или кратным макс. длине ключа. Но это всё равно мера временная. Если база очень ценна и интересна - твой код можно разобрать на атомы и понять что к чему.
По этому проекту всё парадоксально просто: очередь ведь не стоит и интересно это только узкому кругу специалистов, а они и не планируют взламывать либо тиражировать - это не их бизнес. А разобрать на детальки конечно могут, но специалист отдает предпочтение легальному продукту, т.к. верит PR-мероприятиям, что "только легальный продукт" может гарантировать достоверность данных, которые они потом используют в своих расчетах. Ошибка в расчетах - это не просто большие финансовые потери, но и зачастую потеря доверия и имиджа.
Но защищаться всегда надо по возможности. Я в этом уверен.
ShSergeЧёт совсем не понятно. Файрбёрд - серверная база. Ну, запаролить её и все дела.
ПО+БД распространяется как настольная версия, а FB в открытом виде и пароли здесь не помогают. Для FB они помогут только, когда БД физически на сервере разработчика. :)
SiemarglИдея за две копейки:

-средние 4 байта - или сколько нужно - оригинальный ИД, или простая функция от него (XOR const)
-остальные 4 - рандом

И уникальность есть и фиг поймешь (до дизассемблера).
С сортировкой по ид только фигово )
1. Подобного рода подход быстро вскрывается даже визуально.
2. Просматривается последовательность РК и т.д.
Код: plaintext
if id_pk/цифрa =  1  then id_pk/строка = ** 0001 **
...
Рейтинг: 0 / 0
Ряд уникальных значений.
    #36468587
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISSiemarglИдея за две копейки:

-средние 4 байта - или сколько нужно - оригинальный ИД, или простая функция от него (XOR const)
-остальные 4 - рандом

И уникальность есть и фиг поймешь (до дизассемблера).
С сортировкой по ид только фигово )
1. Подобного рода подход быстро вскрывается даже визуально.
2. Просматривается последовательность РК и т.д.
Код: plaintext
if id_pk/цифрa =  1  then id_pk/строка = ** 0001 **


Ну не очень то элементарно вскрывается. Пример для id=1..20 и только цифровой кодировки для основной и подчиненной таблиц
012304369113788 367692184445514 == 1
048484368806912 280802184706422
390664368954574 414022184641134
301244369449394 189842184160252
070384369551380 514602184024832
331674369225591 593582184317130
615094369342894 052912184230014
355264368210244 121912185338231
168614368341206 414962185213604
102024368031095 467102185521379
239214368132106 268752185427052
039934368625579 106722184942375
159814368764165 182382184810516
176784368403644 642142185126305
231664368526532 197252185062166
336694370630342 193842182925036
444304370732929 186442182802993
600424370428198 067532183152356
014844370535610 376962183006558
598814371054711 443142182501030 == 20

Только как JOIN клеить, через UDF?

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


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