using System.Security.Cryptography;
public static void Main()
Console.WriteLine("Hello World!");
Console.WriteLine(ComputeSaltedHash("2uTmG7vMny222VCt","DF#$%345455poursoltanwer@#$et"));
Console.WriteLine(HashPassword("","2uTmG7vMny222VCt"));
private static string Base64Encode(string plainText) {
var plainTextBytes = System.Text.Encoding.ASCII.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
public static string Base64Decode(string base64EncodedData) {
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
return System.Text.Encoding.ASCII.GetString(base64EncodedBytes);
private static string ComputeSaltedHash(string password, string salt)
var encoder = new ASCIIEncoding();
var secretBytes = encoder.GetBytes(password);
var saltBytes = encoder.GetBytes(password);
var sha1 = SHA1.Create();
var passHashSh1 = sha1.ComputeHash(secretBytes);
var saltHashSh1 = sha1.ComputeHash(saltBytes);
Console.WriteLine(encoder.GetString(passHashSh1));
Console.WriteLine(encoder.GetString(saltHashSh1));
var concated = encoder.GetString(passHashSh1) + encoder.GetString(saltHashSh1);
var concatedBytes = encoder.GetBytes(concated);
var sha256 = SHA256.Create();
var hash = sha256.ComputeHash(concatedBytes);
return Base64Encode(encoder.GetString(hash));
public static string HashPassword(string user, string password)
var str1 = CalculateSha1String(password);
var str2 = CalculateSha1String("DF#$%345455poursoltanwer@#$et");
var a2 = CalculateSha256String(a1);
var a3 = System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(a2));
public static bool VerifyHashedPassword(string user, string hashedPassword, string providedPassword)
var providedPasswordHash = HashPassword(user, providedPassword);
if(hashedPassword.Equals(providedPasswordHash))
private static string CalculateSha1String(string text)
var sha1 = new SHA1CryptoServiceProvider();
var hash = sha1.ComputeHash(Encoding.ASCII.GetBytes(text));
foreach (byte b in hash) strHex += $"{b:x2}";
private static string CalculateSha256String(string text)
var sha256 = new SHA256CryptoServiceProvider();
var hash = sha256.ComputeHash(Encoding.ASCII.GetBytes(text));
strHex += String.Format("{0:x2}", b);