Расшифровать значение, зашифрованное вручную SQL Server с помощью AES 256 - PullRequest
0 голосов
/ 11 мая 2018

Я хотел бы зашифровать определенные столбцы в моем SQL Server 2014. Шифрование работает нормально, и его легко расшифровать в SQL Server. Дело в том, что теперь я также хочу расшифровать данные вне сервера вручную. Я зашифровал свои данные и попытался расшифровать их с помощью некоторых онлайн-инструментов, но безуспешно. SQL Server делает какие-то «особые» действия для дальнейшей защиты данных? Возможно ли расшифровать данные вне SQL Server?

Создание симметричного ключа:

CREATE SYMMETRIC KEY topSecretKey
WITH ALGORITHM=AES_256
, IDENTITY_VALUE = 'ffoejkgeifbhkfle'
, Key_SOURCE = 'fewjgpwgdkfewjgpwgdkfewjgpwgdkfd'
ENCRYPTION BY PASSWORD = 'secrEt123password';

EncryptByKey результат:

EncryptByKey (Key_GUID('topSecretKey'), CONVERT(varchar,'this is my pw'))

--> 0x004C1D372DB0FDBE915B16664E37A3DD010000005633680204DCC53BC0CCA8F8ECC9F28A37110E7524A932F2D135CB5E83BCD615CA9DE6EB6F6530E0890990BD0E4377E3

Затем я попробовал некоторые веб-инструменты для расшифровки этого значения:

  • Текст: шестнадцатеричный
  • Режим: CBC
  • IV: ffoejkgeifbhkfle
  • Размер ключа: 256 бит
  • Ключ: muchjgpwgdkfewjgpwgdkfewjgpwgdkfd
  • Вывод: длина ввода должна быть кратна 16 при расшифровке с использованием шифра с добавлением

SQL Server выполняет какие-то "особые" действия для дальнейшей защиты данных? Можно ли расшифровать данные за пределами SQL Server?

...