C# SHA-256 ve SHA-512

Merhabalar,

C# ile SHA-256 ve SHA-512 şifreleme algoritmasını kullanarak, istediğimiz verileri güvenli bir şekilde nasıl şifreleriz bunu öğreneceğiz.

Öncelikle aşağıdaki SHA sınıfını projemize dahil ediyoruz;

using System;
using System.Text;
using System.Security.Cryptography;
using CodeShare.Cryptography;

namespace CodeShare.Cryptography
{
    public static class SHA
    {
        public static string GenerateSHA256String(string inputString)
        {
            SHA256 sha256 = SHA256Managed.Create();
            byte[] bytes = Encoding.UTF8.GetBytes(inputString);
            byte[] hash = sha256.ComputeHash(bytes);
            return GetStringFromHash(hash);
        }

        public static string GenerateSHA512String(string inputString)
        {
            SHA512 sha512 = SHA512Managed.Create();
            byte[] bytes = Encoding.UTF8.GetBytes(inputString);
            byte[] hash = sha512.ComputeHash(bytes);
            return GetStringFromHash(hash);
        }

        private static string GetStringFromHash(byte[] hash)
        {
            StringBuilder result = new StringBuilder();
            for (int i = 0; i < hash.Length; i++)
            {
                result.Append(hash[i].ToString("X2"));
            }
            return result.ToString();
        }
    }
}

Daha sonra projemizde ilgili methodu çağırarak verilerimizi güvenli bir şekilde şifrelemiş oluyoruz.

public void UsageExample()
  {
    Console.WriteLine(SHA.GenerateSHA256String("Ayaz"));
    //returns 99828B844F69035FD995FFD462DCB8D910F89F929548A38D44470C865A25D31A

    Console.WriteLine(SHA.GenerateSHA512String("Ayaz"));
    //returns DC522FDCC5679460D0A87852EAEA4C74FCEDA563A208A0125FE35F14ED6B25095B5343250E8CAFEA2705258A545F068B28BC4DA93559598B20866EA2A00FCE79
  }