【问题标题】:create md5 hash (salt+value)创建 md5 哈希(盐+值)
【发布时间】:2017-05-04 00:44:09
【问题描述】:

如何在 C# 中创建以下 PHP 代码?

php代码:

<?php
    $salt = "salt";
    $value = "hello";
    $password_hashed = md5($salt.$value);
?>

如果能提供任何帮助,我将不胜感激。正在测试以下内容:

https://stackoverflow.com/a/1300927/7312781

但它只会返回一个错误的字符串。

        var salt = System.Text.Encoding.UTF8.GetBytes("salt");
        var value = System.Text.Encoding.UTF8.GetBytes("hello");

        var hmacMD5 = new HMACMD5(salt);
        var saltedHash = hmacMD5.ComputeHash(value);

        string hex = BitConverter.ToString(saltedHash);
        MessageBox.Show(hex.Replace("-", ""));

回复:https://gyazo.com/340fe77979c1b0b531d07a8050ce66d1

响应应如下所示:06decc8b095724f80103712c235586be

【问题讨论】:

  • 让我们看看你的尝试
  • “无法使用”是什么意思?网上到处都是关于如何将字节数组转换为十六进制字符串的示例
  • 更新了我的问题

标签: c# md5 salt


【解决方案1】:

希望这会有所帮助,这是对给定链接的一些修改

class Program {
    static void Main(string[] args) {
        var provider = MD5.Create();
        string salt = "S0m3R@nd0mSalt";
        string password = "SecretPassword";
        byte[] bytes = provider.ComputeHash(Encoding.ASCII.GetBytes(salt + password));
        string computedHash = BitConverter.ToString(bytes);

        Console.WriteLine(computedHash.Replace("-", ""));
    }
}

【讨论】:

  • 工作完美!感谢您的帮助!
  • @d4ne 请不要使用 MD5 来保证安全。彻底坏了
  • 不是密码,是创建ticket id
  • @CamiloTerevinto:您是否建议使用 SHA512 和一些循环来防止暴力攻击?
  • 如果您想要票证 ID,只需使用 Guid.NewGuid
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-02
  • 2017-07-26
  • 2011-05-27
  • 2010-09-25
  • 1970-01-01
  • 2012-08-17
  • 2015-01-05
相关资源
最近更新 更多