Система шифрования, которая использует симметричные ключи, -это та, в которой отправитель и получатель сообщения используют общий ключ. Следовательно, этот единственный ключ применяется как для шифрования, так и для дешифрования данных.
Использование симметричных ключей имеет несколько преимуществ и один недостаток. Одним из преимуществ использования симметричных ключей является то, что они могут защищать значительно больший объем данных, чем два других типа пользовательских ключей. Этот тип ключей также обрабатывается значительно быстрее, чем асимметричные ключи
С другой стороны, в распределенных системах использование этого типа ключей может сделать почти что невозможным сохранение безопасности шифрования, т. к. один и тот же ключ служит для дешифрования и шифрования данных в обоих концах системы. Следовательно, основной рекомендацией является то, что симметричные ключи должны использоваться только в приложениях, где данные сохраняются в виде зашифрованного текста в одном месте.
Язык Transact-SQL поддерживает некоторые операторы и системные функции, относящиеся к симметричным ключам. Оператор create symmetric key создает новый симметричный ключ, а оператор drop symmetric key удаляет существующий симметричный ключ. Каждый симметричный ключ должен быть открыт, прежде чем вы сможете его использовать для шифрования данных или защищать другой новый ключ. Для открытия ключа используется оператор open symmetric key.
После того как вы откроете симметричный ключ, вам нужно использовать системную функцию EncryptByKey для шифрования. Она имеет два входных параметра: идентификатор ключа и текст, который должен быть зашифрован. Для дешифрования используйте системную функцию DecryptByKey.