• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Co tutaj tak naprawdę się dzieje?

+2 głosów
296 wizyt
pytanie zadane 19 lipca w Python przez H1rund0 Nowicjusz (160 p.)

Cześć, od wczoraj naszła mnie ochota na zabawę z ctf, bawię się świetnie i potrzebuje pomocy z zadankiem. Nie rozumiem do końca co poniższy kod wykonuje. Rozumiem tyle, że ciąg znaków, jest zamieniany na bity, następnie na hash md5, ale po odpaleniu tego ciąg znaków, zmienia się za pośrednictwem metody digest() w niespotykany przeze mnie wcześniej sposób zapisu. 

Wiem, że odpowiedź mogę znaleźć gdzieś głębiej w sieci lub wklepując to w AI, ale po co psuć sobie zabawę :) 

 

import hashlib


def hash_pw(pw_str):
    pw_bytes = bytearray()
    pw_bytes.extend(pw_str.encode())
    m = hashlib.md5()
    m.update(pw_bytes)
    return m.digest()

user_pw = input("Podaj ciąg znaków, który zostanie zaszyfrowany)
user_pw_hash = hash_pw(user_pw)
print(user_pw_hash)

1 odpowiedź

+2 głosów
odpowiedź 19 lipca przez adrian17 Mentor (355,240 p.)

w niespotykany przeze mnie wcześniej sposób zapisu. 

To znaczy? :)

digest() daje Ci bezpośrednio bajty wynikowego hasha. Jeśli chcesz ten sam hash ale w postaci czytelnego stringa z hexem, użyj hexdigest() zamiast digest().

A, i przy okazji:

Podaj ciąg znaków, który zostanie zaszyfrowany

Hashowanie to nie szyfrowanie.

Podobne pytania

0 głosów
1 odpowiedź 247 wizyt
pytanie zadane 7 sierpnia 2020 w Python przez szafran98 Początkujący (460 p.)
+3 głosów
1 odpowiedź 3,059 wizyt
pytanie zadane 7 listopada 2017 w Python przez BartekDataIT Użytkownik (770 p.)

93,777 zapytań

142,736 odpowiedzi

323,388 komentarzy

63,381 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...