Python programma, lai atrastu failu jaucējkrānu

Šajā rakstā jūs uzzināsiet, kā atrast faila jaucējkrānu un to parādīt.

Lai saprastu šo piemēru, jums jābūt zināšanām par šādām Python programmēšanas tēmām:

  • Python funkcijas
  • Python lietotāja definētas funkcijas
  • Python faila I / O

Hash funkcijas aizņem patvaļīgu datu apjomu un atgriež fiksēta garuma bitu virkni. Funkcijas izvadi sauc par īssavilkuma ziņojumu.

Tos plaši izmanto kriptogrāfijā autentifikācijas nolūkos. Ir daudz jaukšanas funkciju, piemēram, MD5, SHA-1 utt. Lai uzzinātu vairāk par hash funkcijām kriptogrāfijā, skatiet šo lapu.

Šajā piemērā mēs ilustrēsim, kā jaukt failu. Mēs izmantosim SHA-1 jaukšanas algoritmu. SHA-1 pārraksts ir 160 bitu garš.

Mēs neievadām datus no faila uzreiz, jo daži faili ir ļoti lieli, lai visi uzreiz ietilptu atmiņā. Sadalot failu mazos gabalos, procesa atmiņa būs efektīva.

Avota kods, lai atrastu Hash

 # Python rogram to find the SHA-1 message digest of a file # importing the hashlib module import hashlib def hash_file(filename): """"This function returns the SHA-1 hash of the file passed into it""" # make a hash object h = hashlib.sha1() # open file for reading in binary mode with open(filename,'rb') as file: # loop till the end of the file chunk = 0 while chunk != b'': # read only 1024 bytes at a time chunk = file.read(1024) h.update(chunk) # return the hex representation of digest return h.hexdigest() message = hash_file("track1.mp3") print(message) 

Rezultāts

 633d7356947eec543c50b76a1852f92427f4dca9 

Šajā programmā mēs atveram failu binārā režīmā. Hash funkcijas ir pieejamas hashlibmodulī. Mēs cilpojam līdz faila beigām, izmantojot whilecilpu. Nonākot līdz beigām, mēs iegūstam tukšu baitu objektu.

Katrā atkārtojumā no faila mēs nolasām tikai 1024 baitus (šo vērtību var mainīt atbilstoši mūsu vēlmēm) un atjauninām jaukšanas funkciju.

Visbeidzot, izmantojot hexdigest()metodi , mēs atgriežam īssavilkuma ziņojumu heksadecimālā attēlojumā .

Interesanti raksti...