Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Подскажите простейший способ зашифровать столбец с деньгами  [new]
JMLabs
Member

Откуда:
Сообщений: 66
Посоветуйте пожалуйста простейший способ зашифровать столбец в базе данных. Столбец содержит значения счетов в рублях, тип money. Хотелось бы изменить тип столбца и хранить в нем шифрованный вид сумм денег. Напрашивается XOR, но он работает только с INT и в результате получаются тоже числа, что плохо, должна быть символьная строка. Командой EncryptByCert пользоваться не хочется по ряду причин.
17 июн 18, 17:40    [21497721]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33504
Блог
JMLabs,

Есть функции маскирования в свежих версиях сиквела.
17 июн 18, 18:24    [21497798]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
JMLabs
Member

Откуда:
Сообщений: 66
У меня 2008R2
17 июн 18, 20:14    [21497891]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
uaggster
Member

Откуда:
Сообщений: 809
JMLabs
Посоветуйте пожалуйста простейший способ зашифровать столбец в базе данных. Столбец содержит значения счетов в рублях, тип money. Хотелось бы изменить тип столбца и хранить в нем шифрованный вид сумм денег. Напрашивается XOR, но он работает только с INT и в результате получаются тоже числа, что плохо, должна быть символьная строка. Командой EncryptByCert пользоваться не хочется по ряду причин.

Ну так и сделайте сначала xor, а потом перекодируйте в base64.
Кстати, и по поводу int - не проблема. Умножте на 1000 и преобразуйте в int. Или bigint.
17 июн 18, 20:21    [21497899]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
JMLabs
Member

Откуда:
Сообщений: 66
хотелось бы сделать так: преобразовать число в в строку, взять ASCII код каждого символа, поксорить его и новые коды конвертировать в символы и полученную строку записать в БД. Возможно ли такое на T-SQL?
17 июн 18, 23:47    [21498327]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36900
Кто ж вам может запретить, если вам хочется...
Вы цель забыли огласить, ради которой вы собрались так страдать.
18 июн 18, 01:26    [21498429]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5920
JMLabs
Командой EncryptByCert пользоваться не хочется по ряду причин.

Ну есть еще ENCRYPTBYPASSPHRASE, доступна с 2008-й версии. И вот это вот:
JMLabs
хотелось бы сделать так: преобразовать число в в строку, взять ASCII код каждого символа, поксорить его и новые коды конвертировать в символы

- не надо, этот детский лепет вскрывается на раз. Лучше уж тогда вообще не шифровать.
18 июн 18, 02:36    [21498462]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
JMLabs
Member

Откуда:
Сообщений: 66
Сон Веры Павловны
- не надо, этот детский лепет вскрывается на раз. Лучше уж тогда вообще не шифровать.


Да, понимаю что можно вскрыть, но у меня задача "защита от дурака", т.е. не требуется какой-то суперкриптостойкости, может быть даже и хорошо что можно вскрыть без утюга и паяльника)
18 июн 18, 09:50    [21498774]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
Cane Cat Fisher
Member

Откуда:
Сообщений: 1809
JMLabs
Сон Веры Павловны
- не надо, этот детский лепет вскрывается на раз. Лучше уж тогда вообще не шифровать.


Да, понимаю что можно вскрыть, но у меня задача "защита от дурака", т.е. не требуется какой-то суперкриптостойкости, может быть даже и хорошо что можно вскрыть без утюга и паяльника)


Да, но зачем? Смысл делать шифрование, которое можно вскрыть за полчаса, по первой главе книжки "Занимательная криптография"?

Ведь если данные все равно утекут, ругать будут именно Вас - скажут, плохо зашифровали.

К сообщению приложен файл. Размер - 19Kb
18 июн 18, 11:08    [21499056]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7658
JMLabs,

а как Вы собираетесь баланс рассчитывать? Будете функцию дешифрирования вызывать?
18 июн 18, 14:54    [21499968]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
JMLabs
Member

Откуда:
Сообщений: 66
Владислав Колосов
JMLabs,
а как Вы собираетесь баланс рассчитывать? Будете функцию дешифрирования вызывать?

Да, планировал функцию дешифровки, а как иначе?
18 июн 18, 15:04    [21500021]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
Cane Cat Fisher
Member

Откуда:
Сообщений: 1809
JMLabs
Владислав Колосов
JMLabs,
а как Вы собираетесь баланс рассчитывать? Будете функцию дешифрирования вызывать?

Да, планировал функцию дешифровки, а как иначе?

Ну а если ее злоумышленик вызовет?

Или она у вас при каждом вызове пароль спрашивать будет?
18 июн 18, 15:13    [21500074]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
tip78
Member

Откуда: Москва
Сообщений: 986
JMLabs
Столбец содержит значения счетов в рублях, тип money.

никогда не используйте тип money, это древнее говно мамонта не обновлялось со времён динозавров
юзайте numeric

а "зашифровать деньги" очень просто - прибавьте им 1278 и сохраните эту константу в переменную в приложении, куда у взломщика доступа не будет (хотя в вашем случае я бы на это не сильно рассчитывал)
19 июн 18, 02:16    [21501666]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
Cane Cat Fisher
Member

Откуда:
Сообщений: 1809
tip78
а "зашифровать деньги" очень просто - прибавьте им 1278 и сохраните эту константу в переменную в приложении, куда у взломщика доступа не будет (хотя в вашем случае я бы на это не сильно рассчитывал)


Я же говорю - "Занимательная криптография", первая глава. Сдвиг на константу - это "шифр Цезаря". Злоумышленнику достаточно найти строку, где значение суммы ему известно - например, свою зарплату. И константа у него в кармане.
19 июн 18, 10:16    [21502182]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7658
tip78
никогда не используйте тип money


забавное утверждение, учитывая особенности хранения и вычислений по сравнению с типом NUMERIC.
19 июн 18, 11:21    [21502451]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5920
Cane Cat Fisher
tip78
а "зашифровать деньги" очень просто - прибавьте им 1278 и сохраните эту константу в переменную в приложении, куда у взломщика доступа не будет (хотя в вашем случае я бы на это не сильно рассчитывал)


Я же говорю - "Занимательная криптография", первая глава. Сдвиг на константу - это "шифр Цезаря". Злоумышленнику достаточно найти строку, где значение суммы ему известно - например, свою зарплату. И константа у него в кармане.

Всегда было интересно, почему же люди так любят придумывать собственные способы шифрования (обычно не выдерживающие никакой критики)? Ведь готовых, надежных, и простых способов уже изобретено выше крыши. Таже функция ENCRYPTBYPASSPHRASE использует внутри 3DES со 128-битным ключом, работает быстро, т.к. 3DES - симметричный блочный алгоритм, достаточно надежна, проста в использовании - почему всё равно нужно что-то свое?
19 июн 18, 11:25    [21502475]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Владислав Колосов
tip78
никогда не используйте тип money


забавное утверждение, учитывая особенности хранения и вычислений по сравнению с типом NUMERIC.

из разряда
"Никогда не пользуйтесь арабскими цифрами это древнее говно мамонта не обновлялось с V-го века"
19 июн 18, 11:25    [21502480]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3667
Cane Cat Fisher
JMLabs
пропущено...


Да, понимаю что можно вскрыть, но у меня задача "защита от дурака", т.е. не требуется какой-то суперкриптостойкости, может быть даже и хорошо что можно вскрыть без утюга и паяльника)


Да, но зачем? Смысл делать шифрование, которое можно вскрыть за полчаса, по первой главе книжки "Занимательная криптография"?

Ведь если данные все равно утекут, ругать будут именно Вас - скажут, плохо зашифровали.


Расчёт на то, что книжки мало кто читает
19 июн 18, 11:46    [21502566]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
KRS544
Member

Откуда:
Сообщений: 497
JMLabs, самый простой способ - сделать вьюху без этого поля, а на таблицу отнять права.
Так как, если у того, от кого вы защищаетесь, будет доступ, то он эту функцию все равно найдет и расшифрует ваше поле.
19 июн 18, 11:57    [21502604]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1715
KRS544
JMLabs, самый простой способ - сделать вьюху без этого поля, а на таблицу отнять права.
Так как, если у того, от кого вы защищаетесь, будет доступ, то он эту функцию все равно найдет и расшифрует ваше поле.


Насколько я помню, ещё в 2008м SQL Server-е можно было использовать ENCRYPTION при создании функции, что приводит к тому, что исходный текст функции преобразуется в скрытый формат. Так что рядовой пользователь просмотреть исходный код функции не сможет. Вот привилегированный - вполне.
19 июн 18, 14:53    [21503473]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1715
KRS544
JMLabs, самый простой способ - сделать вьюху без этого поля, а на таблицу отнять права.
Так как, если у того, от кого вы защищаетесь, будет доступ, то он эту функцию все равно найдет и расшифрует ваше поле.


А, да... С той же 2008й версии (а то и раньше) можно давать разрешения не только на всю таблицу, а на отдельные столбцы.
19 июн 18, 14:54    [21503482]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
tip78
Member

Откуда: Москва
Сообщений: 986
TaPaK
Владислав Колосов
пропущено...
забавное утверждение, учитывая особенности хранения и вычислений по сравнению с типом NUMERIC.

из разряда
"Никогда не пользуйтесь арабскими цифрами это древнее говно мамонта не обновлялось с V-го века"

у арабских цифр тоже столько недоработок и гемора?

Сон Веры Павловны
Cane Cat Fisher
пропущено...
Я же говорю - "Занимательная криптография", первая глава. Сдвиг на константу - это "шифр Цезаря". Злоумышленнику достаточно найти строку, где значение суммы ему известно - например, свою зарплату. И константа у него в кармане.

Всегда было интересно, почему же люди так любят придумывать собственные способы шифрования (обычно не выдерживающие никакой критики)? Ведь готовых, надежных, и простых способов уже изобретено выше крыши. Таже функция ENCRYPTBYPASSPHRASE использует внутри 3DES со 128-битным ключом, работает быстро, т.к. 3DES - симметричный блочный алгоритм, достаточно надежна, проста в использовании - почему всё равно нужно что-то свое?

какие ещё "способы шифрования", вы как будете с данными работать внутри ячейки?
да вы хоть 1024-битной криптографией его обложите, один хрен на обычные цифры вернётесь
19 июн 18, 18:31    [21504341]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
tip78
Member

Откуда: Москва
Сообщений: 986
ну и потом, как уже сказали выше, всё-равно всё найдут и расшифруют
19 июн 18, 18:32    [21504343]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
tip78,

автор
у арабских цифр тоже столько недоработок и гемора?

ваши личные проблемы никого не интересуют, давайты факты
20 июн 18, 08:45    [21505574]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите простейший способ зашифровать столбец с деньгами  [new]
tip78
Member

Откуда: Москва
Сообщений: 986
TaPaK, что гуглом не умеете пользоваться?
https://www.google.com/search?num=30&newwindow=1&q=mssql why money is bad
нате: https://stackoverflow.com/questions/582797/should-you-choose-the-money-or-decimalx-y-datatypes-in-sql-server
20 июн 18, 12:58    [21506470]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить