Pyhtona yeni başladım sorunum var yardımcı olabilirmisiniz
9
●233
- 21-01-2022, 07:46:04Pyhton 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:39salt 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:14Salt 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, 10:02:10verdiğ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 şöyleundercontr adlı üyeden alıntı: mesajı görüntüle
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:44Hocam 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 oevelioglu adlı üyeden alıntı: mesajı görüntüle
- 21-01-2022, 11:34:56Peki 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 ?burakozdmr adlı üyeden alıntı: mesajı görüntüle
- 21-01-2022, 12:10:06
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:12bende 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.YuqseLX adlı üyeden alıntı: mesajı görüntüle