- SHA-256 выдает 256 бит
- Юникод использует 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