c# - C#登录系统,在将密码插入数据库之前需要帮助哈希密码
问题描述
嗨,我正在为学校做一个 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;
}
}
}
}
推荐阅读
- python - 针对 OpenApi 3 .yml 模式验证 DRF 响应
- ionic-framework - 离子选择显示三个点
- python - Python素数列表生成器错误
- excel - 使用基于登录和注销的数据透视图在线显示用户
- python - 多线程数组处理,然后写入结果数组以进行 C-Python 扩展
- java - JSP 欢迎文件问题
- angular - 离子管道类型错误:无法读取未定义的属性“toString”
- php - Lumen:本地服务 Lumen App 为什么不能同时调用多条路由
- python - Google cloud functions: How to get access tokens in cloud function for the required scope?
- data-science - 主题建模评测:如何理解一个coherence value / c_v为0.4,是好是坏?