哈希到16个字符

时间:2018-09-19 10:13:45

标签: c# hash

Id希望通过对输入字符串进行散列来产生固定长度的16个字符。 我不希望做一些像SHA256这样的哈希,然后只采用前几个字符的事情。

1 个答案:

答案 0 :(得分:-2)

  • SHA-256产生256位
  • Unicode每个字符使用16位

因此:(256/16 = 16)

哈希中的256位/ 16位字符集= 16个字符!

Encoding enc = Encoding.ASCII;
byte[] buffer = enc.GetBytes(uniqueString);

var crypto = new SHA256CryptoServiceProvider();
byte[] hash = crypto.ComputeHash(buffer);

return Encoding.Unicode.GetString(hash); //16 characters