C# programlama dilinde bir çok hash algoritması ile birlikte SHA1 algoritması bu dili kullananların hizmetine sunulmuştur. SHA1 hash algoritmalarının projelerde kullanılabilmesi için projeye System.Security.Cryptography isim uzayının eklenmesi gerekiyor. Bu ekleme işlemi haricinde SHA1 algoritmasında bitler düzeyinde işlem yaptığı için ilk önce hash algoritması uygulanacak metnin byte dizisine dönüştürülmesi gerekiyor. Bu işlemden sonra elde ettiğiniz şifreli metin üzerinde de Replace işlemi yapacağız. Burada çok önemli bir nokta vardır ki SHA1 algoritması algoritmayı uygularken byte dizisi üzerinde işlem yaptığı için her türlü elektronik veri bu algoritma kullanılarak hashlene bilir.
Algoritmanın C# programlama dili için tanıtımından önce biraz SHA1'den bahsetmek istiyorum. SHA1 hash algoritmalarından bir tanesidir. (Hash algoritmaları ile ilgili detaylı bilgi almak isterseniz buradaki makaleye göz atabilirsiniz) Algoritma sonucunda 160 bit veya 40 hexadecimal şifreli metin üretilir. Hash algoritmasının mantığı gereği üretilen karakter uzunlukları her zaman 40 hexadecimal sayıdır.
C# programlama dilinde SHA1 algoritmasının uygulanabilmesi için SHA1CryptoServiceProvider sınıfından yeni bir nesne üretmek ve bu sınıfın ComputeHash metodunu kullanmak gerekiyor. Bu uygulamanın yapıldığı örnek aşağıda yer almaktadır. Son yaptığımız replace işlemi ise algoritma çıktısındaki "-" karakerini atmak içindir.
C# SHA1 Uygulaması
using System;
using System.Security.Cryptography;
using System.Text;
namespace Laitech.Core.Service.Common.Security
{
public class HashFunctions
{
public static string HashSHA1(string plaintext)
{
using (var sha1provider = new SHA1CryptoServiceProvider())
{
var hash = sha1provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
}
}
Konu ile alakalı sorularınız olursa lütfen sormaktan çekinmeyin en kısa sürede yanıtlamaya çalışacağım.
Algoritmanın C# programlama dili için tanıtımından önce biraz SHA1'den bahsetmek istiyorum. SHA1 hash algoritmalarından bir tanesidir. (Hash algoritmaları ile ilgili detaylı bilgi almak isterseniz buradaki makaleye göz atabilirsiniz) Algoritma sonucunda 160 bit veya 40 hexadecimal şifreli metin üretilir. Hash algoritmasının mantığı gereği üretilen karakter uzunlukları her zaman 40 hexadecimal sayıdır.
C# programlama dilinde SHA1 algoritmasının uygulanabilmesi için SHA1CryptoServiceProvider sınıfından yeni bir nesne üretmek ve bu sınıfın ComputeHash metodunu kullanmak gerekiyor. Bu uygulamanın yapıldığı örnek aşağıda yer almaktadır. Son yaptığımız replace işlemi ise algoritma çıktısındaki "-" karakerini atmak içindir.
C# SHA1 Uygulaması
using System;
using System.Security.Cryptography;
using System.Text;
namespace Laitech.Core.Service.Common.Security
{
public class HashFunctions
{
public static string HashSHA1(string plaintext)
{
using (var sha1provider = new SHA1CryptoServiceProvider())
{
var hash = sha1provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
}
}
Not:Versiyon Yönetim sistemlerinden biri olan Git Server değişiklikleri hızlı kontrol edebilmek için SHA1 algoritmasını kullanır. Git Server projesi açık kaynaklı bir proje olduğu için incelemenizi tavsiye ederim.
Yorumlar
Yorum Gönder