Недавно мы внедрили некоторые симметричные ключи в MS SQL 2005 для шифрования и дешифрования кредитной карты, проверки номеров маршрутизации / счета.
В идеале, мы бы хотели, чтобы пользовательская функция могла выполнять шифрование и дешифрование, однако это невозможно, поскольку функции encryptbykey и decryptbykey не могут использоваться в пользовательских функциях.
Сначала я думал, что мы могли бы создать сборку CLR (в C #) с функциями для этого, однако, как я узнал, применяются те же правила.
Мне было интересно, что делают другие, чтобы легко выполнить эту функцию. Создание многих хранимых процедур, таких как:
ОТКРЫТЫЙ СИММЕТРИЧНЫЙ КЛЮЧ ...
ВЫБЕРИТЕ имя пользователя, decryptByKey (...) КАК пароль
ЗАКРЫТЬ СИММЕТРИЧЕСКИЙ КЛЮЧ ...
... для многих областей, в которых мы будем шифровать / дешифровать, было бы очень утомительно.