Шифрование / дешифрование данных в «классическом» ASP и ASP.NET 2.0 - PullRequest
2 голосов
/ 11 августа 2009

У меня есть строка, которую я хочу зашифровать, и я хочу сделать это так, чтобы "классическое" приложение ASP и приложение ASP.NET 2.0 могли ее расшифровать. Какой лучший способ сделать это?

Я искал в Интернете различные решения. Я смотрел на использование DPAPI, но это для каждой машины, так что это не так. Слишком много работы, чтобы зашифровать его на каждом сервере. Я также подумал о шифровании значения в web.config, но «классический» ASP не сможет его прочитать.

Есть еще идеи?

Заранее спасибо!

Ответы [ 4 ]

2 голосов
/ 11 августа 2009

Старый стандарт использования COM dll a.k.a. capicom.dll API-интерфейса шифрования - это то, что вы можете использовать. Это не самая прямолинейная вещь, которую я когда-либо использовал, но она довольно хорошо документирована и установлена ​​на 99% коробок Microsoft. Вы можете найти информацию об этом в http://msdn.microsoft.com/en-us/library/ms995332.aspx. Если вы напишите все в классическом asp, то портировать его и использовать PIvoke api в .net для использования той же логики должно быть довольно просто.

1 голос
/ 30 января 2010

Рассматривали ли вы создание веб-службы ASP.NET для шифрования? Затем вы можете вызвать веб-службу через SSL из классического приложения ASP, а затем использовать ту же внутреннюю библиотеку из приложения ASP.NET, чтобы выполнить расшифровку.

1 голос
/ 11 августа 2009

Вы можете попробовать использовать компонент Chilcat Crypt в форме dll activex для классической страницы asp и расшифровать строку с помощью библиотек .NET System.Security.Cryptography. В обоих случаях вы можете использовать AES / Rinjdael или другой алгоритм шифрования.

0 голосов
/ 14 августа 2009

Я столкнулся с этим на нашем сайте, который использует ASP & VB.NET. Кроме того, собственные служебные программы написаны на C #, VB6 и VB.NET. Все программы должны были обмениваться зашифрованными данными.

Для решения этой проблемы я написал подпрограмму шифрования VB6 & VBScript, которую я преобразовал в .NET. Это позволяет мне иметь идентичные данные на разных платформах. Я выбрал шифрование и хэширование RC4 и MD5. Оба из них были значительно расширены с помощью нескольких функций, таких как MD5 - соленая версия, а RC4 содержит проверку CRC и возможность двойного шифрования с использованием нескольких паролей.

Базовый код для MD5 и RC4 легко доступен, и они оба легко конвертируются.

...