C#登录系统,在将密码插入数据库之前需要帮助散列密码

标签 c# .net visual-studio authentication md5

您好,我正在为学校开展一个 C# 项目,我正在用 C# 创建一个基本的登录/注册系统,并将 MySQL 用于我的数据库。我的问题是如何使用 md5 散列密码并将散列后的密码插入数据库?

我没有任何示例代码,因为我还没有开始这个项目。直到春假之后才到期。

最佳答案

这是一个扩展方法的简单示例... 用法... string.Sha256() like "password".Sha256()

using System;
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Text;

namespace Test
{
    /// <summary>
    /// Extension methods for hashing strings
    /// </summary>
    public static class HashExtensions
    {
        /// <summary>
        /// Creates a SHA256 hash of the specified input.
        /// </summary>
        /// <param name="input">The input.</param>
        /// <returns>A hash</returns>
        public static string Sha256(this string input)
        {
            if (!string.IsNullOrEmpty(input))
            {
                using (var sha = SHA256.Create())
                {
                    var bytes = Encoding.UTF8.GetBytes(input);
                    var hash = sha.ComputeHash(bytes);

                    return Convert.ToBase64String(hash);
                }
            }
            else
            {
                return string.Empty;
            }
        }
    }
}

关于C#登录系统,在将密码插入数据库之前需要帮助散列密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50399685/

相关文章:

.net - 解决循环依赖

c# - Visual Studio 自动删除未被引用的方法的工具

c++ - 分析函数内存和 CPU 使用率

c# - 每个项目都应该使用单独的强名称 key (.snk) 进行签名吗?

c# - 在何处放置 Windows 窗体项目的中央错误处理程序

javascript - 使用 Javascript 将母版页代码中的数据列表访问到同一母版页的前端

c# - 如何通过 Oauth2 身份验证使用 Google Contacts API

c# - 何时使用 DebuggerDisplayAttribute

c# - 高效读取和剪切文件的方法

c# - OData - 将字段添加到代理部分类但需要在请求中忽略它们