Tekrar hoş geldiniz.
Harika aracımızı geliştirmeye devam edelim.
Şifremizi yalnızca SHA one'a dönüştüren gölet API kontrolümüz var.
Ancak bunu API'ye göndermemiz gerekiyor.
Parola API'si.
Peki burada ne yapabiliriz?
Yapmak istediğimiz ilk şey, parolamızın yalnızca ilk beş karakterine veya karma parolaya ihtiyacımız olduğunu hatırlamaktır,
böylece burada eğlenceli bir şey yapabiliriz.
İlk beş karakter diyebiliriz.
Bir de kuyruk dediğimiz şey var.
Bu yüzden ilk beş karakteri ve ilk değişkeni saklayacağız.
İkinci değişkende ise kalanları saklayacağız çünkü daha sonra bunların her ikisine de ihtiyacımız
olacak.
Yani burada.
Python'un bize izin verdiği, başlangıcı beşinci karaktere kadar yakalamak
için bu güzel küçük sözdizimini kullanabiliriz.
Ve sonra ikinci bölüm için.
Kalan karakterler.
Yani beşinci indeksten başlayarak sonuna kadar, güzel ve kolay.
Ve bu daha önce öğrendiğimiz bir şey.
Şimdi elimizde ilk beş karakter ve kuyruk var.
Ve şimdi bunu istek API verimize ekleyebiliriz, böylece şimdi istek API verimi çağırabilir ve burada
ilk beş karakteri verebilirim ve yanıtı burada saklayalım.
Bu şekilde.
Şimdi ne tür bir yanıt alacağımızı görelim.
Bu yüzden aslında buradan yanıt vereceğim.
Ve her şeyi doğru yaptığımızdan emin olmak için, her şeyin çalıştığından emin olmak için
ilk beş karakteri ve kuyruğu da yazdıralım.
Eğer bunu çalıştırırsam.
Tamam.
Görünüşe göre ilk beş karakteri alıyorum.
Burada bir boşluk var ve sonra kalanı var ve herhangi bir hata almıyoruz.
Yanıt çalışıyor gibi görünüyor, bu yüzden yanıtı da yazdıralım.
Ve bunun da çalıştığından emin olun.
Görünüşe göre 200 yanıtı alıyoruz, ancak hala tam olarak ne tür bir veri aldığımızdan emin değiliz.
Burada ne yapabiliriz?
Geri gönderdiğimiz bu veriler hakkında daha fazla bilgi edinmek istiyorum.
Şimdi burada başka bir fonksiyon oluşturalım.
Ve şimdilik buna sadece okuma yanıtı diyeceğiz.
Biz de aldığımız yanıtı vereceğiz.
Ve burada, sadece bu yanıtı okumaya çalışalım.
Aslında burada yazdırma yanıtı, nokta metin yapabiliriz.
Çünkü bu bir API yanıtı.
Yani ideal olarak sadece metni okuyabiliriz, bakalım bu bir şey yapacak mı?
Yani bu geri dönüş yanıtı sadece okunacaktır.
Böyle cevap ver.
Eğer bunu çalıştırırsam.
Hey, şuna bak.
Cevabımız bu.
Gördüğünüz gibi, bir ton karma parola var.
Onlardan çok var.
Birkaç yüz gibi görünüyor.
Yani cevabımızdan anladığımız bu.
Response to text kullanarak, hash edilmiş parolamızın başlangıcıyla eşleşen tüm hash'leri alırız.
Çok güzel.
Aslında ne yapabiliriz.
Burada nasıl 24, 3, 1 aldığımızı görüyorsunuz.
Ve böyle devam eder.
Bu size aslında bu şifrelerin kaç kez ele geçirildiğini gösterir.
Bu çok güzel.
Böylece ideal olarak sayımı alabilir, herhangi birinin kuyruğumuzla eşleşip eşleşmediğine bakabiliriz, çünkü
şimdi sadece kuyruğu kontrol edebilir ve aynı zamanda sayımı yazdırabiliriz.
Bu nedenle, bir okuma yanıtı işlevine sahip olmak yerine, bir get işlevine sahip olalım.
Şifre.
Sızıntılar.
Hash'leri veya yanıtı ve gerçek hash'i alan sayım işlevi.
Kontrol etmek için, kontrol etmemiz gereken kendi parola özetimizdir.
Bu yüzden tüm hash'leri kontrol etmek ve döngüye sokmak için bu hash'i kontrol edeceğiz.
Böylece tekrar bir şeyler yapabiliriz.
Python ile şık burada hash'ler eşittir diyebiliriz.
Ve burada bir tuple kullanabiliriz ve aslında daha önce gördüğümüz bir tuple kavraması yapabiliriz.
Çizgi nokta ayrımı diyebilirim.
Bu yüzden satırdaki her şeyi, burada görebileceğiniz sütunlara göre ayıracağız.
Yani bu, hash'in kuyruğu ve kaç kez hacklendiği.
Bu yüzden sütuna göre ayıracağız.
Sonra döngüye girip dört satır söyleyeceğiz.
İşte çizgi buradan geliyor.
Karmalarda dört satır.
Nokta metin.
Şimdi, eğer bu şekilde bırakırsam, bu aslında işe yaramayacak.
Nedenini birazdan göstereceğim.
Aslında, bunu şimdi yapalım.
Bakalım baskı hash'leri bize ne verecek.
Reid'in cevabı yerine.
Bunu şimdi yayınlayacağız.
Bu yüzden şifre sızıntıları hesabı alın.
Ve eğer aday olursam, şunu açıklığa kavuşturalım.
Hata mı alıyorum?
Kontrol etmek için karmayı da eklememiz gerektiğinden bir hata alıyorum.
Peki kontrol edilecek hash ne olmalıdır?
Kuyruk, değil mi?
Gerçek şifremizin kuyruğu.
Bu yüzden kuyruğu ikinci parametreye ekleyeceğim.
Kaydedin ve tekrar çalıştırın.
Pekala, bir cevap aldım.
200 ve bir jeneratör nesnesi alıyorum.
Bu jeneratör nesnesi, aslında oran üzerinden döngü yapabiliriz.
Bakalım dört tane yaparsam ne olacak.
Hatırlayın, hash ve sayımımız var, bu yüzden hash ve sayım için hash h yapalım çünkü hash ve ardından
sayımı olan bir tuple'a dönüştürdüğümüzü hatırlayın.
Çünkü ayrılıyoruz, unuttun mu?
Yani eğer bunu yaparsak.
Her birinin çıktısını alıp sayalım.
Eğer bunu çalıştırırsam.
Hmm.
Bir hata alıyorum.
Değer hatası.
Açmak için yeterli değer yok.
Birini deşmesini bekleyin.
Hmm.
Nedenmiş o?
H'yi basalım ve ne olacağını görelim.
Ve şimdilik sayımı kaldırın.
Bunu temizleyelim ve tekrar çalıştıralım.
Hmm.
Görünüşe göre düzgün ayrılmamışız.
Her madde kendi başına bir listedir.
Bu yüzden aslında burada dizemizde split lines denilen bir şey kullanmamız gerekiyor.
Ve gördüğünüz gibi.
Dizedeki satırların bir listesini döndürür.
Ve çizgi sınırlarında kırılır.
Yani aslında karma metin üzerinde dört döngü yaptığımızda, yukarı kaydırırsak, bakalım görebilecek miyiz?
Hayır, artık orada değil.
Ancak yukarı kaydırırsak, sadece büyük bir metin listesi elde ederiz.
İdeal olarak, her satırda bunu böleriz, böylece bu satır her bir öğe yerine gerçek
karma ve sayı olur.
Bu yüzden sadece bu şekilde nokta bölme çizgileri yapmamız gerekiyor.
Bunu kaydedip bir kez daha çalıştırırsam.
Bu çok daha iyi.
Şimdi istediğimizi aldık.
Bir kez daha, daha önce sahip olduğumuz şeye, yani sayıma geri dönebiliriz.
Ve eğer H'yi yazdırıp sayarsak, kaydedelim.
Bunu tekrar çalıştır.
Ve bu çok daha iyi.
Her bir parçayı ayırdık.
Bir ara verelim ve bir sonraki videoda buna devam edelim.