62,074
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 得到MD5散列
/// </summary>
/// <param name="_str">需要计算的字符串</param>
/// <returns></returns>
private static string GetByetMD5(string _str)
{
return Convert.ToBase64String(new MD5CryptoServiceProvider().ComputeHash(Encoding.Unicode.GetBytes(_str)));
}
using System.Data.SqlClient;
using System.Diagnostics;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
using (var conn = new SqlConnection("Data Source=WUWEI-HOME;Initial Catalog=test;Integrated Security=True"))
{
conn.Open();
SqlCommand comm = new SqlCommand("delete TestClass where SayHello='测试'", conn);
comm.ExecuteNonQuery();
comm = new SqlCommand("insert TestClass(SayHello,MD5) values(@p1,@p2)", conn);
comm.Parameters.Add(new SqlParameter("p1", "测试"));
var testdata = GetTestData();
comm.Parameters.Add(new SqlParameter("p2", testdata));
comm.ExecuteNonQuery();
comm = new SqlCommand("select top 1 * from TestClass where SayHello='测试'", conn);
var rd = comm.ExecuteReader();
rd.Read();
var output = (byte[])rd["MD5"];
Debug.Assert(testdata.Length == output.Length || !testdata.Any(b => !output.Contains(b)),"output中缺少一个字节。");
}
}
private static byte[] GetTestData()
{
MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider();
var ret = provider.ComputeHash(Encoding.Default.GetBytes("明月几时有把酒问青天不知天上宫阙今夕是何年"));
return ret;
}
}
}