using System.Security.Cryptography;
public static class Program
public static void Main()
Console.WriteLine(Encrypt("52297301650")) ;
private const string Key = "KSKOCKARIYERIM2020";
public static string Encrypt(this string str)
if (string.IsNullOrEmpty(str) || str == "null")
var secureKey = new SecureString();
secureKey.MakeReadOnly();
byte[] salt = Encoding.UTF8.GetBytes(secureKey.Length.ToString());
byte[] hashedSalt = SHA512.Create().ComputeHash(salt);
byte[] text = Encoding.UTF8.GetBytes(str);
var key = new Rfc2898DeriveBytes(secureKey.ToString(), hashedSalt);
ICryptoTransform encryptor = new RijndaelManaged().CreateEncryptor(key.GetBytes(32), key.GetBytes(16));
using (var memoryStream = new MemoryStream())
using (var cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write))
cryptoStream.Write(text, 0, text.Length);
cryptoStream.FlushFinalBlock();
cipher = memoryStream.ToArray();
return Convert.ToBase64String(cipher);
public static string GetHash(string input)
using (var md5 = MD5.Create())
byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(input));
var sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
sBuilder.Append(data[i].ToString("x2"));
return sBuilder.ToString();
public static bool VerifyHash(string input, string hash)
string hashOfInput = GetHash(input);
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if (comparer.Compare(hashOfInput, hash) == 0)
public static string HashSha256(string originalString)
using (SHA256 sha256Hash = SHA256.Create())
byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(originalString));
return Convert.ToBase64String(bytes);