问题描述:
有一个mssql2000数据库,其中users表下有几个字段(S_Name、email、Address、Addressee、phone )几个字段被加密,使用的是des2加密,我需要一个数据库操作的asp.net程序,在查询users表时,返回这几个字段解密后的数据。 des2加密的二个密文我已经有了,分别是: key = Encoding.ASCII.GetBytes("12345678");
iv = Encoding.ASCII.GetBytes("12312345");
还有一个解密函数:
public static string setDes(string inputString)
{
MemoryStream stream = null;
CryptoStream stream2 = null;
StreamReader reader = null;
string str;
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
try
{
stream = new MemoryStream(Convert.FromBase64String(inputString));
stream2 = new CryptoStream(stream, provider.CreateDecryptor(key, iv), CryptoStreamMode.Read);
reader = new StreamReader(stream2);
str = reader.ReadToEnd();
}
finally
{
if (reader != null)
{
reader.Close();
}
if (stream2 != null)
{
stream2.Close();
}
if (stream != null)
{
stream.Close();
}
}
return str;
} 希望得到的帮助 1 需要一个asp.net脚本程序,在填写ip及端口、用户名、密码、数据库名称后,能连接上数据库,并且有一个输入框能执行SQL命令并显示返回结果。 2 在查询以上几个被加密字段时,能显示出解密后的数据。 3 最好具有扩展性,在查询其它被加密的表中字段时,也能显示出解密后的数据。 请高手帮忙解决,谢谢:)。
有一个mssql2000数据库,其中users表下有几个字段(S_Name、email、Address、Addressee、phone )几个字段被加密,使用的是des2加密,我需要一个数据库操作的asp.net程序,在查询users表时,返回这几个字段解密后的数据。 des2加密的二个密文我已经有了,分别是: key = Encoding.ASCII.GetBytes("12345678");
iv = Encoding.ASCII.GetBytes("12312345");
还有一个解密函数:
public static string setDes(string inputString)
{
MemoryStream stream = null;
CryptoStream stream2 = null;
StreamReader reader = null;
string str;
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
try
{
stream = new MemoryStream(Convert.FromBase64String(inputString));
stream2 = new CryptoStream(stream, provider.CreateDecryptor(key, iv), CryptoStreamMode.Read);
reader = new StreamReader(stream2);
str = reader.ReadToEnd();
}
finally
{
if (reader != null)
{
reader.Close();
}
if (stream2 != null)
{
stream2.Close();
}
if (stream != null)
{
stream.Close();
}
}
return str;
} 希望得到的帮助 1 需要一个asp.net脚本程序,在填写ip及端口、用户名、密码、数据库名称后,能连接上数据库,并且有一个输入框能执行SQL命令并显示返回结果。 2 在查询以上几个被加密字段时,能显示出解密后的数据。 3 最好具有扩展性,在查询其它被加密的表中字段时,也能显示出解密后的数据。 请高手帮忙解决,谢谢:)。
using(SqlConnection conn=new SqlConnection(""))
{
conn.open();
SqlCommand cmd= new SqlCommand(select * from tb",conn);
SqlDataReader reader=cmd.ExecuteReader(CommandBehavior.CloseConnection);
while(reader.Read())
{
string s=setDes(dr[""].TOString());
}
}
调用解密函数