|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
Есть таблица n полей, m записей, и m>n.Операций удаления, вставки нет. Как бы перемешать информацию, чтоб значение каждого поля сместилось в определённом порядке, но чтоб при просмотре, всё встало на свои места.... т.е. данные первого поля из первой записи остались на месте, второго поля куда-то съехали, третьего тоже ушли и т.д., потом переходим на вторую запись, начинаем смещать и т.д.... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 06:20 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
q1w1e1, Всё смешалось в доме Облонских ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 08:44 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
Похоже, он про кросстабуляцию хочет спросить... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 10:35 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
Я не знаю, что такое кросстабуляция, и как объяснить, но может видели кодовые замки, типа шесть колёсиков с 10 цифрами, вот что-то типа этого... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 11:13 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
q1w1e1Я не знаю, что такое кросстабуляция, и как объяснить, но может видели кодовые замки, типа шесть колёсиков с 10 цифрами, вот что-то типа этого... Зачем такие сложности, если можно просто зашифровать Ваши данные? Шифрующие алгоритмы есть разные. Самый простой - замена каждой буквы буквой или цифрой, отстоящей от заданной, на определенное число знаков. При этом, число для определения смещения может быть пропорционально позиции буквы в слове. Естественно, что в паре с шифрующей функцией надо будет написать и дешифрующую функцию... Хоть такие шифры и считаются ненадежными, но от некоторых "шаловливых ручек" избавляют... Если Вам надо только "озадачить" "продвинутых" пользователей, то это решение - самое оно. Но от "кул хацкеров" оно уже не спасет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 11:42 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
Есть у меня шифрующие и дешифрующие функции паролей, но это всё не то, например если есть ФИО, адреса, счета и т.д., чтоб нельзя было однозначно индентифицировать лицо...т.е. фио одно, адреса другие , счета взяты от третьего и т.д.... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 12:05 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
q1w1e1Есть у меня шифрующие и дешифрующие функции паролей, но это всё не то, например если есть ФИО, адреса, счета и т.д., чтоб нельзя было однозначно индентифицировать лицо...т.е. фио одно, адреса другие , счета взяты от третьего и т.д.... Зачем это надо?! Ну сделайте смещения так, как я сказал для позиций букв в строке (только для позиций записей (Recno()) в таблицах). Только эти смещения должны где-то храниться (либо быть зашитыми в программу). Представляется мне такая схема: 1. Таблица загружается в память (курсор) с проведением необходимых преобразований; строятся/обновляются индексы, восстанавливаются связи и т.д. 2. Пользователь ведет работу как ни в чем не бывало 3. При выходе из программы, либо при нажатии на кнопку "Сохранить" проводится "перемешивание" и "исправленные" данные физически записываются в таблицы на диске. 4. При нажатии на кнопку "Сохранить" повторно производится чтение согласно п.1 5. При сбое в работе (например, внезапное выключение питания) - исходные данные на диске не пострадают. Один очевидный "минус" - программа будет очень "прожорливой" по памяти, так как таблицы надо будет держать в памяти; кроме того не будет она и сетевой (по вышеуказанной же причине)... А теперь подумайте - стоит ли "овчинка" выделки? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 12:37 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
Может возникнуть желание избавиться от курсоров и записать "исправленные" данные на диск. Но это "нехорошее желание". Ибо такие данные могут легко стать доступными при несанкционированном завершении программы (перезагрузка, выключении компьютера, снятии процесса через менеджер задач (Task Manager) и т.д.). И тогда смысл подобного "шифрования" теряется полностью!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 12:41 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
q1w1e1, Деперсонализация? Попытка исполнить Закон о защите персональных данных? Думаю, не прокатит. Нужно решать на административном уровне. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 12:49 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
q1w1e1Есть у меня шифрующие и дешифрующие функции паролей, но это всё не то, например если есть ФИО, адреса, счета и т.д., чтоб нельзя было однозначно индентифицировать лицо...т.е. фио одно, адреса другие , счета взяты от третьего и т.д.... Фокс не заточен под шифрование данных-задумывался над аналогичной проблемой и пришел к выводу,что построение такого лесипеда дело большого геммороя-просто смириться и решать проблему другими в том числе организационными методами:оф.бумаги,права на файл-сервере и т.д. Озвученной проблеме отвечает сервера где есть и идентификация, и роли, и права, и шифрование самой бд-например Oracle. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 14:18 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
q1w1e1, Для деперсонализации можно использовать такой прием. Разделить все реквизиты - фамилию, адрес и т.п. по отдельным таблицам (с уникальным первичным ключом, естественно). Один файл - собственно описание "персоны" - будет содержать только ссылки на реквизиты. Если еще ключи записывать в этот файл не напрямую, а с шифрованием - то разобраться в этом будет достаточно сложно. Весь вопрос в том, как посмотрят на это "компетентные органы", которые сертифицируют программы на предмет соответствия Закону. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 14:42 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
q1w1e1Есть таблица n полей, m записей, и m>n.Операций удаления, вставки нет. Как бы перемешать информацию, чтоб значение каждого поля сместилось в определённом порядке, но чтоб при просмотре, всё встало на свои места.... т.е. данные первого поля из первой записи остались на месте, второго поля куда-то съехали, третьего тоже ушли и т.д., потом переходим на вторую запись, начинаем смещать и т.д.... Больная идея. Если хотите заморочить голову рядовому хакеру, достаточно и шифрования. Если желаете следовать букве Закона 152, то используйте только средства, этим законом предусмотренные, а не пионерские самоделки. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 15:01 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
q1w1e1, По моему, проще перейти на файл-серверную систему - FireFox или PostgreSQL ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 17:46 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
> Автор: alextashk > файл-серверную систему - FireFox А что это за система? Если FireBird, то она клиент-серверная и под закон не попадает, нет шифрования. Есть шифрование в RedDatabase. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2009, 16:05 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
Игорь Горбонос, Да, FireBird. Извените за опечатку Фукнцию шифрования можно и самому сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2009, 16:29 |
|
Перемешать информацию...
|
|||
---|---|---|---|
#18+
q1w1e1Есть таблица n полей, m записей, и m>n.Операций удаления, вставки нет. Как бы перемешать информацию, чтоб значение каждого поля сместилось в определённом порядке, но чтоб при просмотре, всё встало на свои места.... т.е. данные первого поля из первой записи остались на месте, второго поля куда-то съехали, третьего тоже ушли и т.д., потом переходим на вторую запись, начинаем смещать и т.д.... Если цель заморочить голову невинному пользователю, необремененному познаниями), а также возможно и самому себе при дальнейшей работе с таблицей))), то можно поступить таким образом: 1) для каждого поля завести дополнительное кодовое поле, с разрядностью, достаточной для максимально возможного в перспективе числа записей, 2) расположив записи в нужном правильном порядке, прописать в каждое из этих полей порядковые номера записей, 3) написать простенькую процедурку для случайной выборки поля и одновременно связанного с ним кодового поля в новую пустую таблицу с таким же числом записей, при этом затирая их в старой таблице, чтобы в дальнейшем цикле, анализируя на пустоту, не выбирать их по второму разу, 4) все! ))) В результате имеем перемешанную таблицу, в которой внешним просмотрщиком сходу ничего не поймешь. Внутри программы же используем временный курсор-выборку по связанным кодовым полям, т.е. например чтобы код_фамилии=код_имени=код_отчества, и т.д., хотя возможно придется подумать над select-ом для выборки. При большом числе записей видимо и действительно у случайного любопытствующего в первый момент глаза разбегутся.))) Впрочем понятно, как уже и сказали выше, что для достаточно серьезного шифрования такой способ изначально непригоден.) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2009, 10:08 |
|
|
start [/forum/topic.php?fid=41&msg=36353813&tid=1585781]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 131ms |
0 / 0 |