• 21-01-2022, 07:46:04
    #1
    Pyhton dilini hiç bilmiyorum desem yeridir. Ama başlamakta önemliydi benim için. Başladım başlamasına ama bir sorunum var. Wordpress tabanlı bir sitem var. Yapacağım uygulamanın ara yüzünden login olmaya çalışıyorum bunu yaparken wordpress users tablosunda şifre karşılaştırmam gerekiyor yalnız verdiği md5 yanlış mı üretiliyor yoksa başka bir püf noktasımı var bilmiyorum. Örneğin aşağıdaki python kodu ile program arayüzünden girilen şifreyi md5 e çevirmem gerekiyor. Daha sonra sorgu cümlesiyle karşılaştırma yapıyor. print komutu ile python konsolunda md5 e çevirdiğim şifreyi görüyorum. Örneğin 3861989e32a684ea2194ddcbdee05630 gibi birşey çıktı. Ancak mysql veritabanımda sitenin users tablosunda ki karşılığı bu değil. Örneğin veritabanında $P$BJ66dOqWeCjGKdhltZCgmRM8DjIF/81 görünüyor ve şifreler birbirini tutmadığından login işlemi gerçekleşmiyor. bu arada girdiğim şifre ece12341234. Sorunsuz login için ne yapmalıyım. Dediğim gibi ilk defa program yazmaya kalktım. yardımcı olabilecek arkadaşlara şimdiden teşekkür ederim.
  • 21-01-2022, 09:41:39
    #2
    salt md5 ile üretmediği için eşleştirme yapamıyorsunuz.
    https://github.com/WordPress/WordPre...ass-phpass.php bu fonksiyonu pythonda bulmanız veya çevirmeniz gerekiyor.
  • 21-01-2022, 09:53:14
    #3
    Salt denen bir kavram var muhtemelen wordpress password hash oluşturmak için "ece12341234" + kendiBelirledigiOzelBirSifre aracılığı ile bir hash oluşturup veritbanına öyle kaydediyor.
    Bu method password_hash() fonksiyonundan farklı olarak Wordpress'in built-in bir fonksiyonu tarafından üretiliyor. Bunun için yapmanız gereken şey Wordpress tarafından veritabanına kaydedilmiş bir SECRET_KEY bulmak. Wordpress büyük bir ihtimal böyle bir anahtarı sizin şifrenizle yanyana eşleyip öyle hash elde ediyor.

    Kolay gelsin.
  • 21-01-2022, 09:53:29
    #4
    @YuqseLX; teşekkür ederim verdiğiniz cevap için.. O kadar insan okumuş sizden başka birisi de cevap vermemiş. Ayrıca insanlara yardımcı olma niyetiniz için dualarım sizinle. Allah gönlünüze göre versin.
  • 21-01-2022, 10:02:10
    #5
    undercontr adlı üyeden alıntı: mesajı görüntüle
    Salt denen bir kavram var muhtemelen wordpress password hash oluşturmak için "ece12341234" + kendiBelirledigiOzelBirSifre aracılığı ile bir hash oluşturup veritbanına öyle kaydediyor.
    Bu method password_hash() fonksiyonundan farklı olarak Wordpress'in built-in bir fonksiyonu tarafından üretiliyor. Bunun için yapmanız gereken şey Wordpress tarafından veritabanına kaydedilmiş bir SECRET_KEY bulmak. Wordpress büyük bir ihtimal böyle bir anahtarı sizin şifrenizle yanyana eşleyip öyle hash elde ediyor.

    Kolay gelsin.
    verdiğiniz cevap için teşekkür ederim. Pyhton için ilk adımlarımı atmaya çalışıyorum. Ancak verdiğiniz cevabı tam anlayamadım. Benim sorunum wordpresin ürettiği hash şifre ile değil. Pyhton projemin arayüz ekranında giriş login oluşturmaya çalışıyorum. Pyhton fonksiyonu şöyle


    def login_verification():
    user_verification = username_verification.get()
    pass_verification = password_verification.get()

    sql = "select * from B6dxxw026ST_users where user_login = %s and user_pass = %s"

    cursordb.execute(sql,[(user_verification),(pass_verification)])
    results = cursordb.fetchall()
    if results:
    for i in results:
    logged()
    break
    else:
    failed()
    [/CODE]ve ben şöyle birşeyler deniyorum

    """
    hexpass = hashlib.md5(pass_verification.encode())
    sifre= hexpass.hexdigest()
    print(sifre)
    """
    buradan gelen sonuç ile veritabanındaki aynı olmadığı için login olmuyor. Ancak veritabanındaki yazıldığı şekilde birebir aynısı olunca login oluyor.
  • 21-01-2022, 11:10:44
    #6
    evelioglu adlı üyeden alıntı: mesajı görüntüle
    verdiğiniz cevap için teşekkür ederim. Pyhton için ilk adımlarımı atmaya çalışıyorum. Ancak verdiğiniz cevabı tam anlayamadım. Benim sorunum wordpresin ürettiği hash şifre ile değil. Pyhton projemin arayüz ekranında giriş login oluşturmaya çalışıyorum. Pyhton fonksiyonu şöyle


    def login_verification():
    user_verification = username_verification.get()
    pass_verification = password_verification.get()

    sql = "select * from B6dxxw026ST_users where user_login = %s and user_pass = %s"

    cursordb.execute(sql,[(user_verification),(pass_verification)])
    results = cursordb.fetchall()
    if results:
    for i in results:
    logged()
    break
    else:
    failed()
    [/CODE]ve ben şöyle birşeyler deniyorum

    """
    hexpass = hashlib.md5(pass_verification.encode())
    sifre= hexpass.hexdigest()
    print(sifre)
    """
    buradan gelen sonuç ile veritabanındaki aynı olmadığı için login olmuyor. Ancak veritabanındaki yazıldığı şekilde birebir aynısı olunca login oluyor.
    Hocam arkadaşın demek istediği wordpress db ye md5+kendi secret keyi ile kaydediyor. Siz şifreyi md5 olarak şifreliyorsunuz sadece. Arkadaşın demek istediği o
  • 21-01-2022, 11:34:56
    #7
    burakozdmr adlı üyeden alıntı: mesajı görüntüle
    Hocam arkadaşın demek istediği wordpress db ye md5+kendi secret keyi ile kaydediyor. Siz şifreyi md5 olarak şifreliyorsunuz sadece. Arkadaşın demek istediği o
    Peki anladım ama pyhton da nasıl bir kod yazmalıyız.. Dediğiniz gibiyse wordpressin secret lediği şekilde bir kod yazmak gerekir anladığım kadarıyla. Bende python bilmediğim için nasıl yapılır onu soruyorum. Siz biliyormusunuz ?
  • 21-01-2022, 12:10:06
    #8
    from passlib.hash import phpass
    passwd = b'1'
    hashed = phpass.hash(passwd)
    print(hashed)
    Yukarıda belirttiğim gibi kullandığı kütüphane https://www.openwall.com/phpass/ bu. Bunun pythonda kullanılan kütüphanesi https://passlib.readthedocs.io/en/st...sh.phpass.html
  • 21-01-2022, 12:21:12
    #9
    YuqseLX adlı üyeden alıntı: mesajı görüntüle
    from passlib.hash import phpass
    passwd = b'1'
    hashed = phpass.hash(passwd)
    print(hashed)
    Yukarıda belirttiğim gibi kullandığı kütüphane https://www.openwall.com/phpass/ bu. Bunun pythonda kullanılan kütüphanesi https://passlib.readthedocs.io/en/st...sh.phpass.html
    bende araştırıyorum ama malum 45 yaşımdan sonra öğrenmem biraz zor oluyor. Sizleri tenzih ederim ama Bu işleri yaptıracak birilerine baktım ama anladım ki piyasada yazılımcı geçinen konuşmaya geldimi ahkam kesen ama hiç bir şey yapamayan insanları görünce kendim öğrenmeye çalışıyorum.