Akis Forum

Welcome to AkisForum.com! Register your free account today and become a member! Once signed in, you'll be able to dive into learning to code, discovering new tools, and keeping up with the latest trends. AkisForum is where benefit, knowledge, and sharing come together. Join us to add your own topics and posts, and connect with other members through your private inbox!

C# ile Basit Şifre Yöneticisi (AES şifreleme)

sefack

Member
Akisor
Özellikler:
✔ AES-256 şifreleme
✔ Servis/kullanıcı adı/şifre saklama
✔ Şifreleri listeleme
✔ Dosya tabanlı veri depolama

Kullanım:
1. Visual Studio'da yeni Console App oluştur
2. Kodu yapıştır
3. `sifrelemeAnahtari123` yerine kendi anahtarınızı girin

Not: Gerçek kullanım için anahtar yönetimi ve kullanıcı girişi eklemelisiniz.

C#:
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

namespace PasswordManager
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Console.Clear();
                Console.WriteLine("🔐 ŞİFRE YÖNETİCİSİ");
                Console.WriteLine("1. Yeni Şifre Ekle");
                Console.WriteLine("2. Şifreleri Listele");
                Console.WriteLine("3. Çıkış");
                Console.Write("Seçim: ");

                switch (Console.ReadLine())
                {
                    case "1":
                        AddPassword();
                        break;
                    case "2":
                        ListPasswords();
                        break;
                    case "3":
                        return;
                    default:
                        Console.WriteLine("Geçersiz seçim!");
                        Console.ReadKey();
                        break;
                }
            }
        }

        static void AddPassword()
        {
            Console.Write("Servis Adı: ");
            string service = Console.ReadLine();
            Console.Write("Kullanıcı Adı: ");
            string username = Console.ReadLine();
            Console.Write("Şifre: ");
            string password = Console.ReadLine();

            string encrypted = Encrypt($"{service}|{username}|{password}", "sifrelemeAnahtari123");
           
            File.AppendAllText("passwords.dat", encrypted + Environment.NewLine);
            Console.WriteLine("✔️ Şifre kaydedildi!");
            Console.ReadKey();
        }

        static void ListPasswords()
        {
            if (!File.Exists("passwords.dat"))
            {
                Console.WriteLine("Kayıtlı şifre yok!");
                Console.ReadKey();
                return;
            }

            Console.WriteLine("\n📋 KAYITLI ŞİFRELER");
            Console.WriteLine("-----------------------");
           
            foreach (string line in File.ReadAllLines("passwords.dat"))
            {
                string decrypted = Decrypt(line, "sifrelemeAnahtari123");
                string[] parts = decrypted.Split('|');
               
                Console.WriteLine($"🔹 {parts[0]}");
                Console.WriteLine($"   👤 Kullanıcı: {parts[1]}");
                Console.WriteLine($"   🔑 Şifre: {parts[2]}");
                Console.WriteLine("-----------------------");
            }
           
            Console.ReadKey();
        }

        static string Encrypt(string plainText, string key)
        {
            byte[] iv = new byte[16];
            byte[] array;

            using (Aes aes = Aes.Create())
            {
                aes.Key = Encoding.UTF8.GetBytes(key);
                aes.IV = iv;

                ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV);

                using (MemoryStream memoryStream = new MemoryStream())
                {
                    using (CryptoStream cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write))
                    {
                        using (StreamWriter streamWriter = new StreamWriter(cryptoStream))
                        {
                            streamWriter.Write(plainText);
                        }
                        array = memoryStream.ToArray();
                    }
                }
            }
            return Convert.ToBase64String(array);
        }

        static string Decrypt(string cipherText, string key)
        {
            byte[] iv = new byte[16];
            byte[] buffer = Convert.FromBase64String(cipherText);

            using (Aes aes = Aes.Create())
            {
                aes.Key = Encoding.UTF8.GetBytes(key);
                aes.IV = iv;

                ICryptoTransform decryptor = aes.CreateDecryptor(aes.Key, aes.IV);

                using (MemoryStream memoryStream = new MemoryStream(buffer))
                {
                    using (CryptoStream cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read))
                    {
                        using (StreamReader streamReader = new StreamReader(cryptoStream))
                        {
                            return streamReader.ReadToEnd();
                        }
                    }
                }
            }
        }
    }
}
 
Geri
Üst