Text hashing with SHA-256 in Windows Forms

String inputPass = textBox2.Text; byte[] inputBytes = System.Text.Encoding.UTF8.GetBytes(inputPass); byte[] inputHashedBytes = Sha256.ComputeHash(inputBytes); String inputHash = Convert.ToBase64String(inputHashedBytes); 

I get a strange conclusion:

Q9nXCEhAn7RkIOVgBbBeOd5LiH7FWFtDFJ22TMLSoH8 =

The output hash is as follows:

43d9d70828409fb46420e56005b05e38de4b887ec5585b43149db64cc2d2a07f

+2
source share
2 answers
 // this is where you get the actual binary hash byte[] inputHashedBytes = Sha256.ComputeHash(inputBytes); // but you want it in a string format, similar to a variety of UNIX tools string result = BitConverter.ToString(inputHashedBytes) // this will remove all the dashes in between each two characters .Replace("-", string.Empty) // and make it lowercase .ToLower(); 
+6
source

Encoding.UTF8.GetString parses bytes as UTF8 code points.

The SHA256 hash is an arbitrary 256-bit number and does not correspond to any Unicode text.

You probably want to show the binary value in hexadecimal by calling BitConverter.ToString() .
You can also call Convert.ToBase64String() .

+7
source

All Articles