c# - 使用 key 将密码编码为 MD5

标签 c# .net hash

目前我这样做:

    public static class Crypto
    {
        public static string Encode(string original)
        {
            var md5 = new MD5CryptoServiceProvider();
            var originalBytes = Encoding.Default.GetBytes(original);
            var encodedBytes = md5.ComputeHash(originalBytes);

            return BitConverter.ToString(encodedBytes);
        }
    }

我听说我应该使用一些 key 来编码东西。我是不是该?这里需要吗?这个怎么做?


我最终这样做了 http://encrypto.codeplex.com/ (sha1managed + 随机盐)

最佳答案

您所说的称为“盐”,这是您附加到原始纯文本字符串的一系列随机数据。这通常用于密码,防止彩虹表/字典攻击。

继续阅读:http://en.wikipedia.org/wiki/Salt_%28cryptography%29

对于 C#,有一篇很好的文章:http://www.aspheute.com/english/20040105.asp

关于c# - 使用 key 将密码编码为 MD5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3683274/

相关文章:

c# - 如何以编程方式创建 WPF 工具包 DataGridTemplateColumn?

c# - 无法连接到远程服务器

c# - 在 AccountController 中使用依赖注入(inject)的问题

.net - Web 服务还是 DLL?

c# - ValueTask<TResult> 和异步状态机

.net - 查询事件目录以获取 .NET 中的用户角色

mysql - 将 'crypto'模块生成的哈希值保存到mysql

c# - 最大尺寸字典的数据结构

javascript - 是否有任何接受十六进制输入的 JavaScript 加密 HMAC 库?

c# - 来自 Excel.Worksheet.Cells[行,列] 的奇怪行为