using System.Security.Cryptography;
public static void Main()
HashAlgorithm sha256 = new SHA256Managed();
Console.WriteLine("Welcome to Huy's SHA256 Calculator!");
Console.Write("Please enter your input here: ");
string input = Console.ReadLine();
byte[] plainTextBytes = System.Text.Encoding.UTF8.GetBytes(input);
byte[] hashBytes = sha256.ComputeHash(plainTextBytes);
string base64Hash = Convert.ToBase64String(hashBytes);
Console.WriteLine("This is your SHA256 output in base-64: {0}", base64Hash);
string hexHash = BitConverter.ToString(hashBytes);
hexHash = hexHash.Replace("-","");
Console.WriteLine("This is your SHA256 output in hexadecimal: {0}", hexHash);
for (int i = 0; i < 32; i++)
string utf8Byte = Convert.ToString(hashBytes[i], 2).PadLeft(8, '0');
bitHash = bitHash.Insert((i*8), utf8Byte);
string bitSubString1 = bitHash.Substring(0, 64);
string bitSubString2 = bitHash.Substring(64, 64);
string bitSubString3 = bitHash.Substring(128, 64);
string bitSubString4 = bitHash.Substring(192, 64);
Console.WriteLine("This is your SHA256 output in binary: {0}", bitSubString1);
Console.WriteLine(" {0}", bitSubString2);
Console.WriteLine(" {0}", bitSubString3);
Console.WriteLine(" {0}", bitSubString4);
BigInteger integerHash = 0;
for (int i = 0; i < 256; i++)
int bit = Int32.Parse(bitHash.Substring(i, 1));
integerHash = integerHash + (bit * BigInteger.Pow(2, (255-i)));
Console.WriteLine("This is your SHA256 output in integer: {0}", integerHash);