我有一个我想要加密的字符串,我希望以“经典”ASP应用程序和ASP.NET 2.0应用程序可以解密它的方式这样做。最好的方法是什么?
我一直在网上寻找不同的解决方案。我已经看过使用DPAPI,但它是每台机器,所以就这样了。在每台服务器上加密它的工作量太大。我也考虑过加密web.config中的值,但“经典”的ASP将无法读取它。
还有其他想法吗?
提前致谢!
答案 0 :(得分:2)
使用Cryptography API COM dll a.k.a. capicom.dll的旧标准是您可以使用的。这不是我曾经使用过的最直接的东西,但它已经有很好的文档记录,它安装在99%的微软盒子上。您可以在http://msdn.microsoft.com/en-us/library/ms995332.aspx找到相关信息。如果你用经典的asp编写所有内容,那么移植它并在.net中使用PIvoke api来使用相同的逻辑应该相当容易。
答案 1 :(得分:1)
您可以尝试以经典asp页面的activex dll形式使用Chilcat Crypt组件,并使用.NET System.Security.Cryptography库解密该字符串。在这两种情况下,您都可以使用AES / Rinjdael或其他加密算法。
答案 2 :(得分:1)
您是否考虑过创建ASP.NET Web服务来为您进行加密?然后,您可以从经典ASP应用程序通过SSL调用Web服务,然后使用ASP.NET应用程序中的相同后端库进行解密。
答案 3 :(得分:0)
我在我们的网站上碰到了这个使用ASP& VB.NET。此外,内部实用程序是用C#,VB6和& S编写的。 VB.NET。所有程序都需要能够交换加密数据。
为了解决这个问题,我写了一篇VB6&我转换为.NET的VBScript加密例程。它允许我在平台上拥有相同的数据。加密&我选择的哈希是RC4和MD5。两个版本都通过多种功能得到了显着增强,例如MD5是一个加盐版本,RC4包含CRC检查和使用多个密钥进行双重加密的选项。
MD5和RC4的基本代码很容易获得,它们都可以轻松转换。