Мне нужно получить некоторые конфиденциальные данные с сервера Oracle на SQL Server для использования на моем веб-сайте ASP.NET. Давайте скажем его пароли. Наши парни безопасности говорят, что эти пароли необходимо защищать на каждом шагу. Мой сайт должен иметь возможность сравнивать пользовательский ввод с этими паролями. Эти пароли должны быть переданы с сервера Oracle на SQL Server ночью и могут использоваться только на SQL Server в течение дня.Как реализовать хеширование между Oracle, SQL Server и ASP.NET
Лучшее решение, которое я могу придумать, состоит в том, что нам нужно хэшировать пароли на Oracle и передавать хэши в SQL Server (позволяет предположить, что соединение между ними безопасно, потому что это не моя работа: P). Тогда мое веб-приложение ASP.NET должно быть в состоянии реализовать то же самое хэширование на вводе пользователя, чтобы мы могли сравнить хэш ввода с хэшем базы данных.
Итак, мой вопрос: как я могу что-то сделать с помощью того же алгоритма/ключа/соли на Oracle и .NET? Я знаю, как использовать хеширующие функции .NET, но я не уверен, что я могу использовать в Oracle, что было бы сопоставимо ... Я мог бы передать их в виде простого текста из ASP.NET на SQL Server и записать их там, если это проще, но позвольте назвать это «Plan B».
Почему базы данных должны заботиться об алгоритме хеширования? Базы данных никогда не должны даже получать необработанные данные. Ваша заявка должна позаботиться об этом. – vcsjones
@vcsjones - Хороший вопрос. Пароли попадают в Oracle из другого источника. Мое приложение никогда не увидит источник, поэтому он не может быть первым, чтобы его использовать. – jrizzo
Если md5 работает для вас, см. Мой ответ [здесь] [1]. [1]: http://stackoverflow.com/questions/8810471/get-hash-values-from-sql-server-and-oracle-and-compare-them/8835412#8835412 – tbone