Hướng dẫn hash file python - Python tệp băm

Trong bài viết này, bạn sẽ học cách tìm băm của một tệp và hiển thị nó.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:

  • Chức năng Python
  • Các chức năng do người dùng định nghĩa
  • Tệp Python I/O

Các hàm băm lấy một lượng dữ liệu tùy ý và trả về chuỗi bit có độ dài cố định. Đầu ra của hàm được gọi là thông báo Digest.

Chúng được sử dụng rộng rãi trong mật mã cho mục đích xác thực. Có nhiều chức năng băm như MD5, SHA-1, v.v. Tham khảo trang này để biết thêm về các hàm băm trong mật mã.

Trong ví dụ này, chúng tôi sẽ minh họa cách băm một tệp. Chúng tôi sẽ sử dụng thuật toán băm SHA-1. Tiêu hóa của SHA-1 dài 160 bit.

Chúng tôi không cung cấp dữ liệu từ tệp cùng một lúc, bởi vì một số tệp rất lớn để phù hợp với bộ nhớ cùng một lúc. Chia tệp thành các khối nhỏ sẽ làm cho bộ nhớ quá trình hiệu quả.

Mã nguồn để tìm băm

# Python program 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)

Đầu ra

633d7356947eec543c50b76a1852f92427f4dca9

Trong chương trình này, chúng tôi mở tệp ở chế độ nhị phân. Các hàm băm có sẵn trong mô -đun hashlib. Chúng tôi lặp cho đến khi kết thúc tệp bằng cách sử dụng vòng lặp while. Khi đạt đến cuối, chúng ta nhận được đối tượng byte trống.

Trong mỗi lần lặp, chúng tôi chỉ đọc 1024 byte (giá trị này có thể được thay đổi theo mong muốn của chúng tôi) từ tệp và cập nhật hàm băm.

Cuối cùng, chúng tôi trả lại thông báo Digest trong biểu diễn thập lục phân bằng phương pháp hexdigest().

Nó được gọi là phương thức hoặc chức năng trong Python?

Chức năng chức năng là một khối mã để thực hiện một nhiệm vụ cụ thể, sẽ chứa phạm vi riêng của nó và được gọi theo tên. Tất cả các hàm có thể chứa các đối số bằng không (không) hoặc nhiều hơn một đối số. Trên lối ra, ...

Hướng dẫn đến thập phân

Trong các ví dụ sau, đầu vào và đầu ra được phân biệt bởi sự hiện diện hoặc vắng mặt của lời nhắc (>>> và Hồi): Để lặp lại ví dụ, bạn phải nhập mọi thứ sau khi nhắc, khi ...

Các ví dụ về tập lệnh python hướng dẫn

Python là một ngôn ngữ lập trình rất phổ biến và đòi hỏi đòi hỏi vì nó phù hợp để phát triển các ứng dụng rất đơn giản đến phức tạp. Nếu bạn là người mới trong chương trình Python và muốn tìm hiểu ...

Tổng số loạt trong Python là gì?

Series.sum (trục = none, skipna = true, level = none, numeric_only = none, min_count = 0, ** kwargs) [nguồn] #return tổng của các giá trị trên trục được yêu cầu. Điều này tương đương với .. .

Ví dụ về hướng dẫn lzma python

Mới trong phiên bản 3.3.Source Mã: Mô -đun LIB/LZMA.PYthis cung cấp các lớp và các hàm tiện lợi để nén và giải nén dữ liệu bằng thuật toán nén LZMA. Cũng bao gồm một tập tin ...

Chuyển đổi XML thành Chuỗi Python

Làm cách nào để chuyển đổi phần tử.element thành một chuỗi? Đối với python 3: xml_str = ElementTree.ToString (xml, expoding = unicode) cho python 2: xml_str = ElementTree.ToString (xml, mã hóa = utf-8)

Quants có sử dụng Python hay R không?

$ belingroup $ Tôi biết tiêu đề nghe có vẻ hơi cực đoan nhưng tôi tự hỏi liệu R có bị loại bỏ bởi rất nhiều bàn số lượng tại các ngân hàng bên bán cũng như các quỹ phòng hộ có lợi cho Python hay không. Tôi nhận được ấn tượng ...

Hướng dẫn dùng python kết thúc python

Theo mặc ĐịNH, ha không in () Một lập trình viênn trênn nền tảng c/c ++ ngắn

DDOF trong Python là gì?

numpy.std (a, axis = none, dtype = none, out = none, ddof = 0, keepdims =, *, where =) [nguồn]

Bạn Có Thể LÀM ĐIềU ĐÓ BằNG Cách Sử Dụng Giao Diện Matplotlib: G = NX.Multigraph ([(1, 2), (2, 3), (3, 2), (2, 1)) : (0,4,0,5), 2: (0,5,0,5), 3: ...

Hướng dẫn phương thức hoạt động python

Phương thức là những thànnh viênn chịu trách nhiệm xử lý dữ liệu trong class python. Đó 3 loại phương thức trong Class: Phương thức thể hiện (phương thức thànnh viên), lớp ...

Làm thế nào để Python định nghĩa các ngày trong tuần?

tương ứng với ngày trong tuần. Dưới đây là ánh xạ của các giá trị số nguyên đến các ngày trong tuần.

Hướng dẫn Python 3 ví dụ lập trình

Python là một ngôn ngữ lập trình mạnh mẽ, dễ học. Nó có cấu trúc dữ liệu cấp cao hiệu quả và một cách tiếp cận đơn giản nhưng hiệu quả để lập trình hướng đối tượng. Python sườn Thanh lịch cú pháp ...

Làm thế nào để bạn tìm thấy số trung bình trong Python?

Cho 3 số, tôi cần tìm số nằm giữa hai số khác. .

Hướng dẫn mã python đơn giản

8Writing The Hangman Codethis Chapter Trò chơi giới thiệu nhiều khái niệm mới, nhưng đừng lo lắng: Bạn sẽ thử nghiệm chúng trong vỏ tương tác trước khi thực sự lập trình trò chơi. Bạn sẽ ...

R tệ hơn Python?

Tôi đã có một lớp R và thích công cụ này khá nhiều, đó là lý do tại sao tôi đào răng sâu hơn một chút vào nó, tiếp tục kiến ​​thức của tôi qua các yêu cầu của các lớp. Tôi đã thực hiện một số nghiên cứu về khoa học dữ liệu và ...

Hướng dẫn python tổng

Ha tích hợp sẵn sum () trong python tr

Làm thế nào để bạn lấy 5 đầu vào trong Python?

Xem Thảo luận về các bài viết của articleAdeadDiscussView Các bài viết về bài viết của nhà phát triển articlethe thường muốn người dùng nhập nhiều giá trị hoặc đầu vào trong một dòng. Trong C ++/C Người dùng có thể lấy ...

Số mũ của một số trong Python

Số mũ là một hoạt động toán học trong đó một giá trị được nhân một số lần nhất định với chính nó. Hãy để xem cách chúng ta thực hiện nhiệm vụ đó trong Python.in Bài viết này: Tính toán số mũ trong ...

Python chuyển đổi mã hóa thành UTF-8

Đây là một vấn đề phổ biến, vì vậy đây là một hình minh họa tương đối kỹ lưỡng. Đối với các chuỗi không phải là Unicode (tức là những người không có tiền tố u như uxc4pple), người ta phải giải mã từ mã hóa gốc ...

Hai từ kết hợp trong chuyên gia phân công Python

Các kết hợp không liên kết của hai từ một câu làm đầu vào, tìm tất cả các kết hợp duy nhất của hai từ và in các kết hợp từ không liền kề trong câu gốc trong ...

How do you add a period without space in python?

I am only three weeks into my Intro to Programming course, so bear with me!Nội dung chínhHow do you add a period to a string in Python?Problem FormulationSolution With Separator ArgumentSolution ...

Hướng dẫn dùng plt.figure python

Bài viết được sự cho phép của tác giả Kien Dang ChungTrước khi bắt đầu với câu hỏi Tại sao Matplotlib là một thư viện phổ biến trong Python? chúng ...

Mẫu số trong Python là gì?

Trong hướng dẫn này, chúng tôi sẽ thảo luận về mẫu số khác nhau trong Python. Bạn cũng có thể sử dụng các chương trình dưới đây trong các chương trình Python của mình. Mẫu mẫu mẫu là một mẫu được tạo bởi ...

Hướng dẫn h stack python

Ngăn xếp (stack) là một trong nh ững cấu trúc dữ liệu cơ Ngăn xếp Được ứng ...

Hướng dẫn nội suy chuỗi python

Nội suy chuỗi là một quá trình thay thế các giá trị của các biến thành trình giữ chỗ trong một chuỗi. Chẳng hạn, nếu bạn có một mẫu để nói xin chào với một người như xin chào {tên người}, ... tốt ...

Bạn có thể có 2 biến trong A For Loop Python không?

Tôi nghĩ rằng bạn đang tìm kiếm các vòng lặp lồng nhau. Ví dụ (dựa trên chỉnh sửa của bạn): T1 = [1,2, xin chào, (1,2), 999,1.23] T2 = [1, Hello, (1,2), 999] T3 = [] cho nó Trong liệt kê (T1): Đối với IT2, E2 trong ...

Hướng dẫn dùng pandas đã nhân đôi python

DataFrame.drop_duplicates (tập hợp con = none, netch = first, inplace = false, ond_index = false) [nguồn] return dataFrame với các hàng trùng lặp bị xóa. Xử lý các cột nhất định là tùy chọn. Chỉ mục, ...

Chúng ta có thể sử dụng các cấu trúc trong Python không?

Cập nhật: Các lớp dữ liệu với việc giới thiệu các lớp dữ liệu trong Python 3.7 Chúng tôi rất gần. Ví dụ sau đây tương tự như ví dụ được đặt tên bên dưới, nhưng đối tượng kết quả là có thể thay đổi và nó ...

Hướng dẫn tìm số trung bình python

Cho 3 số, tôi cần tìm số nằm giữa hai số khác. .

Hướng dẫn python ngày giữa các ngày

Không cần sử dụng LIB chỉ là mã thuần túy: #calculation các ngày giữa hai ngày ngày Đối với thuật toán này là ...

Đảo ngược một số trong python bằng cách sử dụng cắt lát

Xin chào mọi người, chào mừng trở lại! Ở đây chúng tôi sẽ tìm hiểu một logic Python đơn giản để đảo ngược số.