Есть ли метод шифрования для столбца с типом данных int? - PullRequest
5 голосов
/ 23 марта 2010

Сценарий состоит в том, что я хочу зашифровать финансовые числа в столбце с типом данных int в таблице сервера SQL. Это большое приложение, поэтому трудно изменить тип данных столбца таблицы с int на любой другой тип данных.

Я использую sql server 2005 и asp.net C #.

Существует ли двусторонний метод шифрования для столбца с типом данных int?

Могу ли я использовать пользовательскую функцию в SQL Server 2005 или, возможно, метод C #?

Ответы [ 5 ]

4 голосов
/ 23 марта 2010

Извините, но я просто не вижу смысла шифрования чисел в базе данных. Если вы хотите защитить данные от посторонних глаз, конечно, в SQL Server встроена безопасность, да?

В этом случае защитите базу данных с помощью стандартной защиты. Если нет, найдите более совершенную СУБД (хотя я бы удивился, если бы это было необходимо).

Если у вас есть биты информации из этой таблицы, которую вы хотите сделать доступной (например, некоторые столбцы, но не другие), используйте представление или триггер для обновления другой таблицы (менее защищенной), или периодический перевод в эту таблицу.

1 голос
/ 23 марта 2010

XOR * * 1002

:)

Хм, нужно больше текста ...

0 голосов
/ 26 марта 2010

Возможно, вы захотите взглянуть на формат, сохраняющий шифрование .

0 голосов
/ 23 марта 2010

Ну, каждая инъективная , сюръективная функция от int до int может использоваться как способ "кодирования" целого числа.

Вы можете создать такую ​​функцию, создав случайный массив с 65536 элементами без повторяющихся записей и используя f(i) = a[i]. Чтобы «декодировать» ваш int, вы просто создаете другой массив с b[i] = x | a[x] = i.

Как уже упоминали другие, это может быть не то, что вы действительно хотите сделать. =)

Редактировать: Ознакомьтесь с комментариями Джима Денниса!

0 голосов
/ 23 марта 2010

В .Net доступно несколько двусторонних схем шифрования.

Простое небезопасное двустороннее «запутывание» для C #

Вы можете либо преобразовать целое число в его эквивалент байтового массива, либо преобразовать его в строку base-64 и зашифроватьчто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...