【问题标题】:can I use sha1,sha256 lib generated string as a hash key我可以使用 sha1,sha256 lib 生成的字符串作为哈希键吗
【发布时间】:2020-04-02 15:25:57
【问题描述】:

我正在寻找一种基于类的一些字符串属性创建哈希键的方法。 我在想我可以使用 sha1 或 sha256 库来生成密钥的值。 但是我想知道如果我将该值存储在数据库中,另一个应用程序或不同的机器或不同版本的 .net 和 .netcore 是否能够在给定相同的字符串属性的情况下生成相同的哈希?下面是一个生成哈希的简单示例:

 public class Lead
{
    public Lead(string firstname, string lastname, string phoneNumber)
    {
        this.firstname = firstname;
        this.lastname = lastname;
        phonenumber = phoneNumber;
        this.hash = GetHash($"{firstname}{lastname}{phoneNumber}");
    }

    private string GetHash(string key)
    {
        using var sha = new System.Security.Cryptography.SHA256Managed();
        byte[] textData = System.Text.Encoding.UTF8.GetBytes(key);
        byte[] hash = sha.ComputeHash(textData);
        return BitConverter.ToString(hash).Replace("-", string.Empty);
    }
    public string firstname;
    public string lastname;
    public string phonenumber;
    public string hash;
}

【问题讨论】:

  • 那个哈希的目的是什么?看看docs.microsoft.com/en-us/dotnet/api/…
  • @Lex Li 你不能使用 GetHash,.net 版本之间的实现是不同的。这就是为什么我要询问 Sha1 和 Sha256 库的原因。抱歉,我应该指出这一点。

标签: .net-core hash sha


【解决方案1】:

答案是肯定的,我还能够在 .net 中进行加密,并为 kicks 解密 rails 中的值。

【讨论】:

    猜你喜欢
    • 2011-08-21
    • 2016-08-24
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 2019-05-15
    • 1970-01-01
    • 2019-08-26
    相关资源
    最近更新 更多