Python ile Akıllı Şifre Yöneticisi Uygulaması Geliştirme

Python ile Akıllı Şifre Yöneticisi Uygulaması Geliştirme

Python ile geliştirilebilecek en kullanışlı ve portfolyoda dikkat çekebilecek projelerden biri şifre yöneticisi uygulamasıdır. Günümüzde insanlar sosyal medya hesapları, banka uygulamaları, e-posta servisleri ve çeşitli platformlar için onlarca farklı şifre kullanmaktadır. Bu nedenle güvenli ve düzenli bir şifre yönetimi büyük önem taşır. Bu projede Python kullanarak kullanıcıların şifrelerini güvenli şekilde saklayabileceği terminal tabanlı bir şifre yöneticisi uygulaması geliştireceğiz. Uygulama sayesinde kullanıcılar yeni hesap bilgileri ekleyebilecek, kayıtlı şifreleri görüntüleyebilecek ve tüm verileri JSON dosyası içerisinde saklayabilecektir. Özellikle siber güvenlik ve yazılım geliştirme alanına ilgi duyan kişiler için oldukça etkileyici görünen bu proje, başlangıç ve orta seviye Python geliştiricileri için mükemmel bir portfolyo çalışmasıdır.

Bu Python şifre yönetim sistemi projesi geliştirilirken birçok temel programlama mantığı aktif olarak kullanılmaktadır. Proje içerisinde fonksiyonlar, koşul yapıları (if-else), while döngüleri, listeler, sözlük yapıları ve dosya işlemleri gibi Python’ın temel konuları yer almaktadır. Ayrıca kullanıcı verileri JSON formatında saklandığı için uygulama gerçek dünya veri yönetimi mantığını da öğretmektedir. Program içerisinde kullanıcıdan veri alma, kayıt oluşturma, listeleme ve hata kontrolü gibi işlemler bulunmaktadır. Bu da projeyi yalnızca eğitim amaçlı basit bir örnek olmaktan çıkarıp gerçek hayatta kullanılabilecek bir araç haline getirir. Özellikle GitHub üzerinde paylaşıldığında profesyonel görünmesi sayesinde yazılım staj başvurularında veya freelance iş görüşmelerinde avantaj sağlayabilir. İlerleyen süreçte bu uygulamaya şifreleme sistemi, kullanıcı doğrulama, grafik arayüz veya veritabanı desteği gibi gelişmiş özellikler de eklenebilir. Bu yönüyle proje hem öğretici hem de geliştirilmeye açık güçlü bir Python uygulamasıdır.


import json
import os

DOSYA_ADI = "sifreler.json"

def sifreleri_yukle():
    if os.path.exists(DOSYA_ADI):
        with open(DOSYA_ADI, "r", encoding="utf-8") as dosya:
            return json.load(dosya)
    return []

def sifreleri_kaydet(veriler):
    with open(DOSYA_ADI, "w", encoding="utf-8") as dosya:
        json.dump(veriler, dosya, ensure_ascii=False, indent=4)

def hesap_ekle(veriler):
    platform = input("Platform adı: ")
    kullanici_adi = input("Kullanıcı adı: ")
    sifre = input("Şifre: ")

    veriler.append({
        "platform": platform,
        "kullanici_adi": kullanici_adi,
        "sifre": sifre
    })

    sifreleri_kaydet(veriler)
    print("Hesap bilgileri kaydedildi.")

def hesaplari_listele(veriler):
    if not veriler:
        print("Kayıtlı hesap bulunmuyor.")
        return

    print("\n--- KAYITLI HESAPLAR ---")

    for i, veri in enumerate(veriler, start=1):
        print(f"{i}. Platform: {veri['platform']}")
        print(f"   Kullanıcı Adı: {veri['kullanici_adi']}")
        print(f"   Şifre: {veri['sifre']}")
        print("-" * 30)

def menu():
    veriler = sifreleri_yukle()

    while True:
        print("\n--- ŞİFRE YÖNETİCİSİ ---")
        print("1. Hesap Ekle")
        print("2. Hesapları Listele")
        print("3. Çıkış")

        secim = input("Seçiminiz: ")

        if secim == "1":
            hesap_ekle(veriler)

        elif secim == "2":
            hesaplari_listele(veriler)

        elif secim == "3":
            print("Program kapatılıyor...")
            break

        else:
            print("Geçersiz seçim yaptınız.")

menu()


Kodun Detaylı Satır Analizi

Kodun kalbi, dosya yönetimini ve kullanıcı etkileşimini sağlayan yapılardır. İşte detaylı inceleme:

  • if os.path.exists(DOSYA_ADI):: Şifrelerin saklandığı JSON dosyasının sistemde mevcut olup olmadığını kontrol eder.
  • veriler.append({"platform": platform, "kullanici_adi": kullanici_adi, "sifre": sifre}): Kullanıcının girdiği hesap bilgilerini listeye ekler.
  • for i, veri in enumerate(veriler, start=1):: Sistemde kayıtlı olan tüm hesapları numaralı şekilde listelemek için kullanılır.
  • json.dump(veriler, dosya, ensure_ascii=False, indent=4): Şifre bilgilerini düzenli şekilde JSON dosyasına kaydederek kalıcı veri saklama işlemini gerçekleştirir.

Bu Proje Sizi Nasıl Geliştirir?

Bu proje sayesinde Python programlama dilinin temel yapılarını gerçek dünya senaryoları üzerinde uygulama fırsatı yakalarsınız. Özellikle dosya yönetimi, kullanıcıdan veri alma, veri saklama, fonksiyon kullanımı ve hata kontrolü gibi konularda önemli deneyimler kazanırsınız. Aynı zamanda kullanıcı odaklı yazılım geliştirme mantığını öğrenerek daha profesyonel projeler üretme konusunda kendinizi geliştirebilirsiniz. Bu tarz güvenlik odaklı projeler GitHub portfolyosunda oldukça dikkat çekici görünür ve yazılım kariyerinizde güçlü bir referans oluşturabilir. Projeyi geliştirmek için şifreleri şifreleme algoritmalarıyla koruyabilir, kullanıcı doğrulama sistemi ekleyebilir, SQLite veritabanına geçebilir veya Tkinter kullanarak masaüstü arayüz geliştirebilirsiniz. Hatta Flask veya Django ile web tabanlı bir şifre yönetim paneli oluşturmanız bile mümkündür. Bu geliştirmeler sayesinde hem Python bilginizi ileri taşıyabilir hem de yazılım dünyasında daha profesyonel projeler üretmeye başlayabilirsiniz.

By mvers

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir