所以我有一个情况,我需要传递一些参数上的网址。为了在网址上没有id = 1,我添加了一个简单的加密方法来混淆这些值。这在.Net域内运行良好。然而,现在我需要从一个经典的asp页面指向这个期望参数被加密的.net页面。我真的不太熟悉加密或经典的ASP,并希望有人能够指导我一个很好的JS库,或者只是提供一个经典的ASP版本的这个功能?如果.Net代码有任何问题,我也很想听到有关这方面的反馈。从c#转换片段到vbscript
这里的加密方法:
public static string Encrypt(string Input)
{
try
{
key = Encoding.UTF8.GetBytes(EncryptionKey.Substring(0, 8));
var des = new DESCryptoServiceProvider();
Byte[] inputByteArray = Encoding.UTF8.GetBytes(Input);
var ms = new MemoryStream();
var cs = new CryptoStream(ms, des.CreateEncryptor(key, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (Exception)
{
return "";
}
}
而这里的解密方法(我需要这个解密传统的ASP加密文本):
public static string Decrypt(string Input)
{
try
{
key = Encoding.UTF8.GetBytes(EncryptionKey.Substring(0, 8));
var des = new DESCryptoServiceProvider();
var inputByteArray = Convert.FromBase64String(Input);
var ms = new MemoryStream();
var cs = new CryptoStream(ms, des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
Encoding encoding = Encoding.UTF8;
return encoding.GetString(ms.ToArray());
}
catch (Exception)
{
return "";
}
}
感谢您的帮助!
感谢您的输入。我曾考虑过这样做,但在IIS x64下运行时遇到了自定义com组件的问题。任何人都可以证实这是或不是可行的,如果在x64下有什么特别的考虑? – 2009-08-12 16:11:22
您可以访问x64中的自定义COM +组件。我不知道他们是否是自定义步骤,但它是可能的。我们有一些遗留代码。 – Jab 2009-08-12 16:50:24
进入您的编译选项,并在高级尝试专门针对x64的CPU,然后确保它设置为注册COM Interop。 一旦我做完了,我还没有问题。另外我发现使用.NET部署在注册DLL时效果更好,但我也创建了BAT文件,并手动引用了regasm命令。 – RiddlerDev 2009-08-12 17:51:00