Страница 1 из 1
Шифрование данных
Добавлено: 31 Январь 2007, 9:45
ru_alex
Всем привет!
Клиент один пожаловался, что у нас пароли пользователей проги лежат в открытом виде, в таблице SQL. Сообственно возразить нечего, поэтому наверняка придется реализовывать...
Но так не сталкивался еще, сразу несколько вопросов к тем кто сообственно такими вопросами уже озадачивался.
1) Проекты у нас есть на TPS и MSSQL, хотелось бы найти универсальное решение.
2) Какие механизмы/библиотеки лучше использовать, где их искать, и есть ли готовые примеры для кларион?
3) Есть ли стандартные механизмы шифрования данных в самом MSSQL?
Добавлено: 31 Январь 2007, 10:56
Andrew Listiev
В MSSQL 2005 есть функция
HashBytes ( '<algorithm>', { @input | 'input' } )
<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1
Добавлено: 31 Январь 2007, 11:29
ru_alex
Посмотрел, спасибо.
Но все-таки надо, чтобы и на MSSQL2000 работало.
К тому же не нашел, как вернуть значение назад из зашифрованного.
Добавлено: 31 Январь 2007, 11:51
Andrew Listiev
Гыыы! Обратно низя

Добавлено: 31 Январь 2007, 12:03
ru_alex
Когда обратно низя, это и я и сам зашифрую

Добавлено: 31 Январь 2007, 12:21
Губин Игорь
ru_alex писал(а):Когда обратно низя, это и я и сам зашифрую

Хранятся "контрольные суммы". Т.е. от введённого пароля считается некая функция и результат сравнивается. Посему и пароли не восстанавливаются.
Сорри за азбучную информацию.

Добавлено: 31 Январь 2007, 12:54
Игорь Столяров
Ну если вопрос только в том, что бы быстро скрыть пароли от юзеров - то просто напиши функцию, которая сделает XOR для каждого байта строки на битовую маску. Расшифровка - аналогично.
Для бытовых целей - вполне достаточно.
Если вопрос о сертифицированном шифровании данных в MS SQL то все серьезней. Можно применить Crypto Pro - он поддерживает MS SQL. Но там все грустно ...

Добавлено: 31 Январь 2007, 13:10
ru_alex
Губин Игорь писал(а):ru_alex писал(а):Когда обратно низя, это и я и сам зашифрую

Хранятся "контрольные суммы". Т.е. от введённого пароля считается некая функция и результат сравнивается. Посему и пароли не восстанавливаются.
Сорри за азбучную информацию.

Неа, спасибо, для меня любая инфа по данному вопросу актуальна.
Добавлено: 31 Январь 2007, 13:14
ru_alex
Игорь Столяров писал(а):Ну если вопрос только в том, что бы быстро скрыть пароли от юзеров - то просто напиши функцию, которая сделает XOR для каждого байта строки на битовую маску. Расшифровка - аналогично.
Для бытовых целей - вполне достаточно.
Если вопрос о сертифицированном шифровании данных в MS SQL то все серьезней. Можно применить Crypto Pro - он поддерживает MS SQL. Но там все грустно ...

Я уже думал на самописным вариантом, но сисадмины и ITшники клиентов, находившись на семинары микрософт, имеют свойства спрашивать: а почему у вас не поддерживаеютмся стандартные/ современные технологии...

Добавлено: 31 Январь 2007, 13:34
ru_alex
Хранятся "контрольные суммы". Т.е. от введённого пароля считается некая функция и результат сравнивается. Посему и пароли не восстанавливаются.
Действительно, а зачем назад-то, что-то я не подумал. Это и не нужно. Хотя те же пользователи иногда звонят и... "Я ПАРОЛЬ ПОТЕРЯЛ!!!"

Добавлено: 31 Январь 2007, 15:23
ru_alex
Всем спасибо!
Благодаря обсуждению здесь и с коллегами в ClaList, ситуация прояснилась до достаточно-необходимого уровня.
Остановлюсь, пожалуй, на алгоритме MD5, благо есть добрые люди предлагающие готовое решение.
Добавлено: 31 Январь 2007, 16:29
lsgsoftware
Может пригодится мое решение. Я храню пароли на флэшке в закриптованом формате TPS и при запуске проги снала запрашивается пароль через стартовое окно.А в стартовом окне лишь можно указать путь к флэшке, которая вообще может быть на сервере. Вроде все давно работает.А прораммка, которая позволяет задать или изменить коды пользователей и их пароли вне основного продукта - у админа.Вроде рабочее решение.
Добавлено: 01 Февраль 2007, 13:03
Губин Игорь
ru_alex писал(а):Хранятся "контрольные суммы". Т.е. от введённого пароля считается некая функция и результат сравнивается. Посему и пароли не восстанавливаются.
Действительно, а зачем назад-то, что-то я не подумал. Это и не нужно. Хотя те же пользователи иногда звонят и... "Я ПАРОЛЬ ПОТЕРЯЛ!!!"

В таких случаях хостеры спрашивают последние 4 цифры кредитной карточки и высылают новый.
Но в
наших условиях луше спрашивать весь номер + владельца + срок действия + CVV. А по другой линии сразу интересоваться ближайшим рейсом на Канары.
