Python AES Şifreleyici

'Peker

Katılımcı Üye
23 Mar 2018
651
23
Kayseri

Aes Crypter Tanıtım​

Bu Python programı, veri şifreleme ve şifre çözme işlemleri için AES (Advanced Encryption Standard) algoritmasını kullanır. AES, NIST tarafından belirlenen ve DES algoritmasının yerini almak için tasarlanmış bir şifreleme algoritmasıdır.
Bu programda, girilen metin ve anahtar kullanılarak veri şifrelenir ve şifreli metin oluşturulur. Daha sonra, şifreli metin ve aynı anahtar kullanılarak veri çözülür ve orijinal metin elde edilir.
Bu programın kullanımı oldukça basittir. Programı çalıştırdıktan sonra, kullanıcı veri şifreleme veya şifre çözme işlemlerinden birini seçer ve gerekli bilgileri girer.

Kullanıcılar, kodun daha iyi anlaşılması için yorum satırlarını okuyabilirler. Ayrıca, bu programı daha da geliştirebilir ve farklı amaçlar için kullanabilirler.

Kodun Kullanımı :

Gerekli kütüphanelerin yüklenmesi :

Bu kodda "Crypto.Cipher", "base64", "colorama" ve "pyfiglet" kütüphaneleri kullanılmaktadır. Bu nedenle, kodu çalıştırmadan önce bu kütüphanelerin yüklenmesi gerekmektedir.

Şifreleme işlemi yapmak için :

Programı çalıştırdığınızda, "1- Veri şifreleme işlemi" seçeneğini seçin.
Şifrelenecek metni ve şifreleme anahtarını girin.
Program, şifreli metni oluşturacak ve ekrana yazdıracaktır.​

Şifreli metni çözmek için :

Programı çalıştırdığınızda, "2- Veri şifresini çözme işlemi" seçeneğini seçin.
Çözülecek şifreli metni ve şifreleme anahtarını girin.
Program, çözülmüş metni ekrana yazdıracaktır.

Python:
from Crypto.Cipher import AES
import base64
import colorama
from colorama import Fore, Back, Style
import pyfiglet

# https://github.com/burakpekerpsd
# https://instagram.com/burakpeker.psd



print(pyfiglet.figlet_format("Aes Crypter"))

def sifrele(metin, anahtar):
    iv = b'1234567890123456'
    # iv Değişkeni 16 Bit Uzunluğunda Başlangıç Değeridir
    # Şifreleme Anahtarı Gibidir Şifreleme Anahtarıyla Birlikte Kullanılır İkinci Bir Şifreleme Adımı Diyebiliriz
    # Başlangıç Değeri Nekadar Karmaşık Olursa Daha Güvenilir Bir Şifreleme Yapmış Olursunuz
    # Kodu Kullanmadan Önce Lütfen Tırnak İçindeki Başlangıç Değerini Kendinize Özel Olarak Belirleyiniz


    anahtar = anahtar.encode('utf-8')
    anahtar = anahtar + (b' ' * (16 - len(anahtar) % 16))
    cipher = AES.new(anahtar, AES.MODE_CBC, iv)
    metin = metin.encode('utf-8')
    metin = metin + (b' ' * (16 - len(metin) % 16))
    sifreli_metin = cipher.encrypt(metin)
    sifreli_metin = base64.b64encode(sifreli_metin).decode('utf-8')
    return sifreli_metin

def coz(sifreli_metin, anahtar):

    iv = b'1234567890123456'
    # iv Değişkeni 16 Bit Uzunluğunda Başlangıç Değeridir
    # Şifreleme Anahtarı Gibidir Şifreleme Anahtarıyla Birlikte Kullanılır İkinci Bir Şifreleme Adımı Diyebiliriz
    # Başlangıç Değeri Nekadar Karmaşık Olursa Daha Güvenilir Bir Şifreleme Yapmış Olursunuz
    # Kodu Kullanmadan Önce Lütfen Tırnak İçindeki Başlangıç Değerini Kendinize Özel Olarak Belirleyiniz


    anahtar = anahtar.encode('utf-8')
    anahtar = anahtar + (b' ' * (16 - len(anahtar) % 16))
    sifreli_metin = base64.b64decode(sifreli_metin.encode('utf-8'))
    cipher = AES.new(anahtar, AES.MODE_CBC, iv)
    metin = cipher.decrypt(sifreli_metin)
    metin = metin.rstrip(b' ')
    metin = metin.decode('utf-8')
    return metin

while True:

    print(Fore.LIGHTGREEN_EX)
    print("1- Veri şifreleme işlemi")
    print("2- Veri şifresini çözme işlemi")
    print(Style.RESET_ALL)
    secim = input("Seçiminiz: ")

    if secim == '1':
        print(Fore.LIGHTRED_EX)
        metin = input("Şifrelenecek metin: ")
        anahtar = input("Şifreleme anahtarı: ")
        sifreli_metin = sifrele(metin, anahtar)
        print("Şifreli metin: ", sifreli_metin,Style.RESET_ALL)

    elif secim == '2':
        print(Fore.LIGHTGREEN_EX)
        sifreli_metin = input("Çözülecek şifreli metin: ")
        anahtar = input("Şifreleme anahtarı: ")
        metin = coz(sifreli_metin, anahtar)
        print()
        print("Çözülen metin: ", metin,Style.RESET_ALL)

    else:
        print("Geçersiz seçim, tekrar deneyin.")

GitHub : GitHub - burakpekerpsd/Aes-Crypter-Python: Bu Python programı, veri şifreleme ve şifre çözme işlemleri için AES algoritmasını kullanır.

 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.