Bu makalemde temel amacım C# programlama dilini kullananlar için yazdığım hash kütüphanesini paylaşmaktır. Kütüphane için hash algoritmaları arasında en çok kullanılanlardan MD5, SHA1, SHA256, SHA384, SHA512 uygulamaları bulunmaktadır. Ayrıca her algorimanın üzerine tıklayarak da algoritma detayını görebilirsiniz. Bu makalemde temel amacım bir kütüphane halinde hash algoritmalarını kullanabilmeniz için kütüphane sağlamak. Bu kodları bir yere kaydederek her zaman kullanabilirsiniz.
using System;
using System.Security.Cryptography;
using System.Text;
namespace Laitech.Core.Service.Common.Security
{
public class HashFunctions
{
public static string HashMD5(string plaintext)
{
using (var mdp5provider = new MD5CryptoServiceProvider())
{
var hash = mdp5provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
public static string HashSHA1(string plaintext)
{
using (var sha1provider = new SHA1CryptoServiceProvider())
{
var hash = sha1provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
public static string HashSHA256(string plaintext)
{
using (var sha256provider = new SHA256CryptoServiceProvider())
{
var hash = sha256provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
public static string HashSHA384(string plaintext)
{
using (var sha384provider = new SHA384CryptoServiceProvider())
{
var hash = sha384provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
public static string HashSHA512(string plaintext)
{
using (var sha512provider = new SHA512CryptoServiceProvider())
{
var hash = sha512provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
}
}
Blog içinde hash algoritmaları ile ilgili bir çok makale de yer almaktadır. Bu makalelere aşağıdaki linklerden erişebilirsiniz.
1. C# Programlama Dilinde SHA1 Hash Algoritması VE Uygulama Örneği
2. C# Programlama Dilinde HMACSHA1 Hash Algoritması VE Uygulama Örneği
3. C# Programlama Dilinde SHA256 Hash Algoritması VE Uygulama Örneği
4. C# Programlama Dilinde HMACSHA256 Hash Algoritması VE Uygulama Örneği
5. C# Programlama Dilinde SHA384 Hash Algoritması VE Uygulama Örneği
6. C# Programlama Dilinde HMACSHA384 Hash Algoritması VE Uygulama Örneği
7. C# Programlama Dilinde SHA512 Hash Algoritması VE Uygulama Örneği
10. C# Programlama Dilinde HMACMD5 Hash Algoritması VE Uygulama Örneği
11. C# Programlama Dilinde RIPEMD160 Hash Algoritması VE Uygulama Örneği
Tüm algoritmaların kodları arşivimde var. Çalışma mantıklarını bu şekilde çıkartabilirsiniz. İsteyen yoruma yazarsa paylaşabilirim.
Kısaca bir kaç algoritmanın kullanıldığı kod örneklerini de aşağıda paylaşıyorum.
2. C# Programlama Dilinde HMACSHA1 Hash Algoritması VE Uygulama Örneği
3. C# Programlama Dilinde SHA256 Hash Algoritması VE Uygulama Örneği
4. C# Programlama Dilinde HMACSHA256 Hash Algoritması VE Uygulama Örneği
5. C# Programlama Dilinde SHA384 Hash Algoritması VE Uygulama Örneği
6. C# Programlama Dilinde HMACSHA384 Hash Algoritması VE Uygulama Örneği
7. C# Programlama Dilinde SHA512 Hash Algoritması VE Uygulama Örneği
10. C# Programlama Dilinde HMACMD5 Hash Algoritması VE Uygulama Örneği
11. C# Programlama Dilinde RIPEMD160 Hash Algoritması VE Uygulama Örneği
Tüm algoritmaların kodları arşivimde var. Çalışma mantıklarını bu şekilde çıkartabilirsiniz. İsteyen yoruma yazarsa paylaşabilirim.
Kısaca bir kaç algoritmanın kullanıldığı kod örneklerini de aşağıda paylaşıyorum.
using System;
using System.Security.Cryptography;
using System.Text;
namespace Laitech.Core.Service.Common.Security
{
public class HashFunctions
{
public static string HashMD5(string plaintext)
{
using (var mdp5provider = new MD5CryptoServiceProvider())
{
var hash = mdp5provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
public static string HashSHA1(string plaintext)
{
using (var sha1provider = new SHA1CryptoServiceProvider())
{
var hash = sha1provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
public static string HashSHA256(string plaintext)
{
using (var sha256provider = new SHA256CryptoServiceProvider())
{
var hash = sha256provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
public static string HashSHA384(string plaintext)
{
using (var sha384provider = new SHA384CryptoServiceProvider())
{
var hash = sha384provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
public static string HashSHA512(string plaintext)
{
using (var sha512provider = new SHA512CryptoServiceProvider())
{
var hash = sha512provider.ComputeHash(Encoding.UTF8.GetBytes(plaintext));
return BitConverter.ToString(hash).Replace("-", "");
}
}
}
}
Yorumlar
Yorum Gönder