Làm thế nào để bạn mã hóa trong python?
Mật mã là một quá trình chủ yếu được sử dụng để liên lạc an toàn và bảo mật. Nó hoạt động trên các khái niệm và thuật toán toán học khác nhau để chuyển dữ liệu được mã hóa thành một mã bí mật khó giải mã. Nó liên quan đến quá trình mã hóa và giải mã dữ liệu, ví dụ:. Nếu tôi cần gửi thông tin cá nhân của mình cho ai đó qua thư, tôi có thể chuyển đổi thông tin bằng các kỹ thuật Mã hóa và gửi nó, mặt khác, người nhận sẽ giải mã thông tin nhận được bằng Kỹ thuật giải mã và sẽ không có sự giả mạo dữ liệu nào giữa chúng.
Bản mã là dữ liệu hoặc văn bản được mã hóa thành mã bí mật bằng thuật toán toán học, nó có thể được giải mã bằng các thuật toán toán học khác nhau. Mã hóa đang chuyển đổi văn bản thành một thông báo bí mật, về mặt kỹ thuật được gọi là chuyển đổi văn bản gốc thành văn bản mã hóa và Giải mã đang chuyển đổi văn bản mã hóa trở lại văn bản gốc để chỉ những người dùng được ủy quyền mới có thể giải mã và sử dụng dữ liệu. Nói chung, nó sử dụng một khóa mà cả người gửi và người nhận đều biết để họ có thể mã hóa và giải mã văn bản. Show
Python có các mô-đun/thư viện sau được sử dụng để mã hóa, cụ thể là
Đăng ký hàng tuần của bạn về những gì đang xảy ra trong công nghệ mới nổi
Đăng ký
Trong bài viết này, chúng ta sẽ khám phá
1. mật mãMật mã là gói python hữu ích trong việc Mã hóa và Giải mã dữ liệu trong python. Nó cung cấp các công thức mã hóa cho các nhà phát triển python Hãy để chúng tôi khám phá Mật mã học và xem cách mã hóa và giải mã dữ liệu bằng cách sử dụng nó. Thực hiện Trước tiên, chúng tôi cần cài đặt thư viện bằng cách sử dụng pip cài đặt mật mã. a. Nhập thư viện Chức năng Fernet được sử dụng để mã hóa và giải mã trong Mật mã học. Hãy để chúng tôi nhập chức năng Fernet từ thư viện from cryptography.fernet import Fernet b. Tạo khóa Mật mã hoạt động dựa trên xác thực mà chúng tôi sẽ cần tạo khóa. Hãy định nghĩa một hàm để tạo khóa và ghi nó vào một tệp. Chức năng này sẽ tạo một tệp khóa nơi khóa được tạo của chúng tôi sẽ được lưu trữ # Generating the key and writing it to a file def genwrite_key(): key = Fernet.generate_key() with open("pass.key", "wb") as key_file: key_file.write(key) Hàm này sẽ tạo pass. key trong thư mục của bạn như trong hình bên dưới c. Đang tải khóa Khóa được tạo ở trên là một khóa duy nhất và nó sẽ được sử dụng tiếp cho tất cả các quá trình mã hóa và giải mã, vì vậy, để gọi đi gọi lại khóa này, chúng ta hãy xác định một hàm để tải khóa bất cứ khi nào được yêu cầu. # Function to load the key def call_key(): return open("pass.key", "rb").read() d. Mã hóa dữ liệu Bước tiếp theo sẽ chuyển thông điệp bạn muốn mã hóa trong chức năng mã hóa, khởi tạo lớp Fernet và mã hóa dữ liệu bằng chức năng mã hóa. key = call_key() slogan = "Hello!! Welcome to AIM!!".encode() a = Fernet(key) coded_slogan = a.encrypt(slogan) print(coded_slogan) Như bạn có thể thấy, chúng tôi đã mã hóa thành công dữ liệu e. Giải mã dữ liệu Tin nhắn sẽ được giải mã bằng cùng một khóa mà chúng tôi đã sử dụng để mã hóa nó và bằng cách sử dụng chức năng giải mã. Hãy để chúng tôi giải mã tin nhắn được mã hóa key = call_key() b = Fernet(key) decoded_slogan = b.decrypt(coded_slogan) print(decoded_slogan) Như bạn có thể thấy ở đây, chúng tôi đã giải mã thành công tin nhắn. Trong khi sử dụng mật mã, cần giữ cho tệp Key an toàn và bảo mật để giải mã tin nhắn vì nếu Key bị thất lạc thì tin nhắn/dữ liệu sẽ không được giải mã Tương tự như vậy, mô-đun Mật mã có thể được sử dụng để chuyển đổi tệp dữ liệu/văn bản, chúng ta chỉ cần chuyển tệp cho đối số và mã hóa và giải mã nó 2. Mật mã đơn giảnNó là một mô-đun python nhanh và chuyển đổi văn bản rõ thành văn bản mã hóa và văn bản mã hóa thành văn bản thuần túy trong vài giây và chỉ với một dòng mã. Thực hiện Trước tiên, chúng tôi cần cài đặt thư viện bằng cách sử dụng pip cài đặt mã hóa đơn giản a. Đang tải thư viện from simplecrypt import encrypt, decrypt b. Mã hóa và giải mã Simple-crypt có hai chức năng được xác định trước mã hóa và giải mã điều khiển quá trình mã hóa và giải mã. Để mã hóa, chúng ta cần gọi hàm mã hóa và chuyển khóa và tin nhắn để được mã hóa. message = "Hello!! Welcome to AIM!!" ciphercode = encrypt('AIM', message) print(ciphercode) Tương tự, chúng ta có thể gọi hàm giải mã và giải mã thông báo gốc từ bản mã này ________số 8Ở đây bạn có thể thấy rằng chúng tôi đã sử dụng “AIM” làm mật khẩu và mật khẩu này cũng tương tự đối với việc mã hóa và giải mã. Trong mã hóa đơn giản, chúng ta nên nhớ rằng phải cung cấp cùng một khóa để mã hóa và giải mã nếu không thông điệp sẽ không được giải mã trở lại ban đầu. 3. HashlibHashlib là một thư viện python mã nguồn mở được sử dụng để mã hóa và nó chứa hầu hết các thuật toán băm phổ biến được các công ty công nghệ lớn sử dụng cho mục đích bảo mật. Hash là một hàm lấy đầu vào có độ dài thay đổi và đưa ra chuỗi đầu ra có độ dài cố định. Không giống như các mô-đun đã thảo luận trước đó, giải mã Hashlib là một công việc rất khó khăn và tốn thời gian, đây là lý do tại sao Hashing được coi là mã hóa an toàn và bảo mật nhất. Các hàm Hashlib mà chúng ta sẽ khám phá là MD5 và SHA1 3. 1 MD5Thuật toán/Hàm MD5 tạo ra giá trị băm là 128 bit. Nó chuyển đổi các chuỗi thành byte để nó được chấp nhận bởi hàm băm. MD5 chủ yếu được sử dụng để kiểm tra tính toàn vẹn của dữ liệu. Nó được xác định trước trong hashlib Thực hiện Chúng tôi cần cài đặt thư viện hashlib để sử dụng MD5 bằng cách sử dụng, pip cài đặt hashlib a. Nhập thư viện import hashlib b. Mã hóa dữ liệu Để mã hóa dữ liệu, chúng ta cần chuyển thông điệp/dữ liệu cho hàm MD5 để chuyển thành byte. Tại đây bạn sẽ thấy rằng chúng ta sẽ gõ 'b' trước khi nhập tin nhắn vì nó chuyển đổi chuỗi thành byte để nó được chấp nhận bởi hàm băm. Hàm hexdigest sẽ mã hóa tin nhắn và trả về tin nhắn đã mã hóa dưới dạng chuỗi HEX. # Generating the key and writing it to a file def genwrite_key(): key = Fernet.generate_key() with open("pass.key", "wb") as key_file: key_file.write(key)0 Nếu chúng ta không muốn tin nhắn được mã hóa trong chuỗi HEX và hiển thị nó theo chuỗi byte thì chúng ta sẽ sử dụng chức năng thông báo # Generating the key and writing it to a file def genwrite_key(): key = Fernet.generate_key() with open("pass.key", "wb") as key_file: key_file.write(key)1 3. 2 SHA1Thuật toán băm an toàn được bảo mật hơn MD5. Đó là một tập hợp các thuật toán như SHA1, SHA256, v.v. Nó được sử dụng rộng rãi cho các ứng dụng mật mã Chúng tôi đã nhập thư viện hashlib nên chúng tôi sẽ Mã hóa trực tiếp tin nhắn/dữ liệu bằng SHA1. Mã hóa dữ liệu Để mã hóa dữ liệu, chúng ta cần chuyển thông điệp/dữ liệu cho hàm SHA1 để chuyển thành byte. Tương tự như MD5 ở đây, bạn cũng sẽ thấy rằng chúng tôi sẽ nhập 'b' trước khi nhập tin nhắn vì nó chuyển đổi chuỗi thành byte để nó được chấp nhận bởi hàm băm. Hàm hexdigest sẽ mã hóa tin nhắn và trả về tin nhắn đã mã hóa dưới dạng chuỗi HEX. # Generating the key and writing it to a file def genwrite_key(): key = Fernet.generate_key() with open("pass.key", "wb") as key_file: key_file.write(key)2 Tương tự như MD5 nếu chúng ta không muốn tin nhắn được mã hóa theo chuỗi HEX và hiển thị nó theo chuỗi byte thì chúng ta sẽ sử dụng hàm digest # Generating the key and writing it to a file def genwrite_key(): key = Fernet.generate_key() with open("pass.key", "wb") as key_file: key_file.write(key)3 Tương tự, chúng ta có thể thử các thuật toán băm khác nhau để Mã hóa/Mã hóa Sự kết luậnTrong bài viết này, chúng tôi đã đi qua
Nhiều câu chuyện AIM tuyệt vời hơn
Được tạo bởi con người hoặc AI. OpenAI để đánh dấu nội dung của nóMối liên kết còn thiếu của việc học tự giám sátThiên thần & Ác quỷ của AIRakuten được chứng nhận là Công ty tốt nhất cho các nhà khoa học dữ liệuMột nhà khoa học dữ liệu đầy tham vọng hiện đang theo đuổi bằng MBA về Khoa học dữ liệu ứng dụng, quan tâm đến thị trường tài chính. Tôi có kinh nghiệm về Phân tích dữ liệu, Trực quan hóa dữ liệu, Học máy, Tạo bảng điều khiển và Viết bài liên quan đến Khoa học dữ liệu Làm cách nào để mã hóa mật khẩu trong Python?Trong Python với sự trợ giúp của mô-đun maskpass() và mô-đun base64(), chúng ta có thể ẩn mật khẩu của người dùng bằng dấu hoa thị (*) trong thời gian nhập và sau đó với sự trợ giúp của . it can be encrypted.
Có thể mã hóa tệp Python không?Trong Python, có thể mã hóa và giải mã tệp trước khi truyền sang kênh liên lạc . Đối với điều này, bạn sẽ phải sử dụng plugin PyCrypto. |