【发布时间】:2010-11-19 00:32:10
【问题描述】:
所以我有一种情况,我需要在 url 上传递一些参数。为了在 url 上没有 id=1,我添加了一个简单的加密方法来混淆这些值。这在 .Net 领域内运行良好。然而,现在我需要从一个经典的 asp 页面直接指向这个期望参数被加密的 .net 页面。我真的对加密或经典 asp 不太熟悉,希望有人能够指导我找到一个好的 JS lib,或者只是提供这个函数的经典 asp 版本?如果 .Net 代码有任何问题,我也很想听听对此的反馈。
加密方法如下:
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 "";
}
}
感谢您的帮助!
【问题讨论】:
标签: c# asp.net encryption asp-classic