图解C#创建SqlServer MD5 加密函数

 

创建步骤如下:

1.新建项目:

 

2.出现如下提示:点击确定

 

 

3.出现要部署的数据库

 

 

4.选择 是

 

5.下面编写代码:

public partial class UserDefinedFunctions
{
    [Microsoft.SqlServer.Server.SqlFunction]
    public static SqlString MD5Function(string Source)
    {
        // 在此处放置代码
        return MD5String(Source);
    }

    /// <summary>
    /// 用MD5加密
    /// </summary>
    /// <param name="Source">要加密的字符串</param>
    /// <returns>返回加密后的密文</returns>
    public static string MD5String(string Source)
    {
        try
        {
            byte[] data = System.Text.Encoding.GetEncoding(1252).GetBytes(Source);
            data = new MD5CryptoServiceProvider().ComputeHash(data);
            string returnValue = "";
            for (int i = 0; i < data.Length; i++)
                /*ToString("X2") 为C#中的字符串格式控制符
                    X为     十六进制 
                    2为     每次都是两位数
                    比如   0x0A ,若没有2,就只会输出0xA 
                    假设有两个数10和26,正常情况十六进制显示0xA、0x1A,这样看起来不整齐,为了好看,可以指定"X2",这样显示出来就是:0x0A、0x1A*/
                returnValue += data[i].ToString("x2");
            return returnValue;
        }
        catch (SystemException ex)
        {
            throw ex;
        }
    }
};

 

 

6.编译部署(注:需要将framework降到3.5,才能部署成功)

7.数据库执行 如下语句:

exec sp_configure 'show advanced options', '1';
go
RECONFIGURE;
go
exec sp_configure 'clr enabled', '1'
go
RECONFIGURE;
exec sp_configure 'show advanced options', '1';
go
RECONFIGURE;

8.执行刚创建的函数:

 

 

posted on 2012-05-29 20:35  refactor  阅读(1751)  评论(0编辑  收藏  举报

导航