简单的密码加密

        有时候,你设计的用户可能有一个密码属性,如果直接保存密码字符再数据库似乎不合适,我们可以将字符串转为哈希保存:

 public static string Hash(string input)
    {
        using (MD5 md5Hash = MD5.Create())
        {
            byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
            StringBuilder sBuilder = new StringBuilder();
            for (int i = 0; i < data.Length; i++)
            {
                sBuilder.Append(data[i].ToString("x2"));
            }
            return sBuilder.ToString();
        }
    }

代码首相将输入的密码转化为字节码,也就是标准的ASCII码,以密码”123456“为例,得到的就是:[49 50 51 52 53 54],

然后调用MD5,对字节码进行加密,得到一个16字节的byte数组。(MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。)

最后调用Tostring("X2")将密码以16进制2位的宽度保存。所以最后得到的会是一个长度为32的字符串。

无论密码长度是对少,因为MD5的算法,都会转为这个长度。上面是一个string的扩展方法,很容易使用。一般非商业化的密码加密,上面是可以满足需求的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值