- Katılım
- 9 Haziran 2025
- Mesajlar
- 66
- Çözümler
- 1
- Tepkime puanı
- 0
- Puan
- 6
- Konum
- Türkiye
- Web sitesi
- akisforum.com
C# ile Şifreleme Yöntemleri – En Yaygın 4 Teknik
Şifreleme Neden Önemlidir?
Veri güvenliği, modern uygulamalarda en kritik konulardan biridir.
Kullanıcı parolaları, gizli veriler veya API anahtarları korunmak isteniyorsa, veriler şifrelenmelidir.
C# ile hem tek yönlü (geri çözülemez) hem de çift yönlü (çözülebilir) şifreleme tekniklerini kolayca kullanabilirsin.
Bu konuda en çok kullanılan 4 yöntemi anlatacağım:
- MD5
- SHA256
- AES
- Base64
1. MD5 Şifreleme (Tek Yönlü)
MD5 günümüzde kırılabilir olduğundan parola gibi hassas veriler için önerilmez.
2. SHA256 Şifreleme (Tek Yönlü - Daha Güvenli)
3. AES ile Şifreleme / Deşifreleme (Çift Yönlü)
Bu yöntemle veriyi şifreleyip tekrar çözebilirsin. Key uzunluğu 32 karaktere tamamlanmalı.
4. Base64 Encode / Decode (Kodlama - Şifreleme Değil)
Base64 sadece görünmez karakterleri metne çevirir. Şifreleme değildir, kolayca çözülebilir.
Sonuç:
C# ile şifreleme oldukça kolay ve güvenlidir.
- Parola için SHA256 önerilir
- Veriyi çözerek saklayacaksan AES kullan
- Dosya, bağlantı vb. dönüşümler için Base64 tercih edebilirsin
Daha Fazla Oku:

Veri güvenliği, modern uygulamalarda en kritik konulardan biridir.
Kullanıcı parolaları, gizli veriler veya API anahtarları korunmak isteniyorsa, veriler şifrelenmelidir.
C# ile hem tek yönlü (geri çözülemez) hem de çift yönlü (çözülebilir) şifreleme tekniklerini kolayca kullanabilirsin.
Bu konuda en çok kullanılan 4 yöntemi anlatacağım:
- MD5
- SHA256
- AES
- Base64

C#:
using System.Security.Cryptography;
using System.Text;
public static string MD5Sifrele(string input)
{
using (MD5 md5 = MD5.Create())
{
byte[] inputBytes = Encoding.UTF8.GetBytes(input);
byte[] hashBytes = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
foreach (byte b in hashBytes)
sb.Append(b.ToString("X2"));
return sb.ToString();
}
}


C#:
using System.Security.Cryptography;
using System.Text;
public static string SHA256Sifrele(string input)
{
using (SHA256 sha256 = SHA256.Create())
{
byte[] bytes = Encoding.UTF8.GetBytes(input);
byte[] hash = sha256.ComputeHash(bytes);
StringBuilder sb = new StringBuilder();
foreach (byte b in hash)
sb.Append(b.ToString("x2"));
return sb.ToString();
}
}

C#:
using System.Security.Cryptography;
using System.Text;
public static string AESEncrypt(string plainText, string key)
{
byte[] keyBytes = Encoding.UTF8.GetBytes(key.PadRight(32));
byte[] iv = new byte[16];
using (Aes aes = Aes.Create())
{
aes.Key = keyBytes;
aes.IV = iv;
ICryptoTransform encryptor = aes.CreateEncryptor();
byte[] inputBytes = Encoding.UTF8.GetBytes(plainText);
byte[] encrypted = encryptor.TransformFinalBlock(inputBytes, 0, inputBytes.Length);
return Convert.ToBase64String(encrypted);
}
}
public static string AESDecrypt(string encryptedText, string key)
{
byte[] keyBytes = Encoding.UTF8.GetBytes(key.PadRight(32));
byte[] iv = new byte[16];
byte[] encryptedBytes = Convert.FromBase64String(encryptedText);
using (Aes aes = Aes.Create())
{
aes.Key = keyBytes;
aes.IV = iv;
ICryptoTransform decryptor = aes.CreateDecryptor();
byte[] decrypted = decryptor.TransformFinalBlock(encryptedBytes, 0, encryptedBytes.Length);
return Encoding.UTF8.GetString(decrypted);
}
}

C#:
public static string EncodeBase64(string plainText)
{
byte[] bytes = Encoding.UTF8.GetBytes(plainText);
return Convert.ToBase64String(bytes);
}
public static string DecodeBase64(string encodedText)
{
byte[] bytes = Convert.FromBase64String(encodedText);
return Encoding.UTF8.GetString(bytes);
}


C# ile şifreleme oldukça kolay ve güvenlidir.
- Parola için SHA256 önerilir
- Veriyi çözerek saklayacaksan AES kullan
- Dosya, bağlantı vb. dönüşümler için Base64 tercih edebilirsin

-
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
-
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
-
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.