Mã hóa giải mã tập tin bằng python

Trong chương này, chúng ta hãy thảo luận về việc giải mã các tệp trong mật mã bằng Python. Lưu ý rằng đối với quá trình giải mã, chúng tôi sẽ làm theo quy trình tương tự, nhưng thay vì chỉ định đường dẫn đầu ra, chúng tôi sẽ tập trung vào đường dẫn đầu vào hoặc tệp cần thiết được mã hóa

Mã số

Sau đây là mã mẫu để giải mã các tệp trong mật mã bằng Python –

#!/usr/bin/python
# ---------------- READ ME ---------------------------------------------
# This Script is Created Only For Practise And Educational Purpose Only
# This Script Is Created For //bitforestinfo.blogspot.in
# This Script is Written By
#
#
##################################################
######## Please Don't Remove Author Name #########
############### Thanks ###########################
##################################################
#
#
# =================Other Configuration================
# Usages :
usage = "usage: %prog [options] "
# Version
Version="%prog 0.0.1"
# ====================================================
# Import Modules
import optparse, sys,os
from toolkit import processor as ps
def main[]:
   parser = optparse.OptionParser[usage = usage,version = Version]
   parser.add_option[
      '-i','--input',type = 'string',dest = 'inputfile',
      help = "File Input Path For Encryption", default = None]
   
   parser.add_option[
      '-o','--output',type = "string",dest = 'outputfile',
      help = "File Output Path For Saving Encrypter Cipher",default = "."]
   
   parser.add_option[
      '-p','--password',type = "string",dest = 'password',
      help = "Provide Password For Encrypting File",default = None]
      [options, args] =  parser.parse_args[]
      # Input Conditions Checkings
      if not options.inputfile or not os.path.isfile[options.inputfile]:
         print " [Error] Please Specify Input File Path"
         exit[0]
      if not options.outputfile or not os.path.isdir[options.outputfile]:
         print " [Error] Please Specify Output Path"
         exit[0]
      if not options.password:
         print " [Error] No
         exit[0]
      inputfile = options.inputfile
      outputfile = options.outputfile
      password = options.password
      work = "D"
      ps.FileCipher[inputfile,outputfile,password,work]
      return
if __name__ == '__main__':
   main[]

Bạn có thể sử dụng lệnh sau để thực thi đoạn mã trên -

python pyfilecipher-decrypt.py -i encrypted_file_path -p password

đầu ra

Bạn có thể quan sát đoạn mã sau khi thực hiện lệnh hiển thị ở trên -

Lưu ý - Đầu ra chỉ định các giá trị băm trước khi mã hóa và sau khi giải mã, lưu ý rằng cùng một tệp được mã hóa và quá trình này đã thành công

Ngày nay, chúng tôi quan sát dữ liệu từ tất cả các nguồn khác nhau và cuối cùng thách thức trở thành tính bảo mật và quyền riêng tư của nó. Điều đó không chỉ liên quan đến các bộ dữ liệu chính do các doanh nghiệp nắm giữ mà còn liên quan đến các mô hình và thuật toán AI/ML, và cuối cùng là dữ liệu có dự báo

Lượng dữ liệu đang tăng lên khi số lượng ngành điều chỉnh các thực tiễn khoa học dữ liệu trong quá trình ra quyết định của họ tăng lên. Đã có một số công ty được thành lập trong lĩnh vực mã hóa và bảo mật cho AI/ML và điện toán đám mây, hiện thậm chí còn cho phép tính toán trên dữ liệu được mã hóa

Trong thế giới truyền dữ liệu và thông tin đang phát triển, tính bảo mật của nội dung tệp vẫn là một trong những mối quan tâm lớn nhất đối với các công ty. Một số thông tin có thể được bảo vệ bằng mật khẩu [email, thông tin đăng nhập] trong khi các thông tin khác được truyền qua email hoặc FTP sẽ thiếu hiệu quả nếu được bảo vệ bằng một số từ khóa. Đây là nơi mã hóa tệp đóng vai trò lớn và cung cấp tính bảo mật cũng như sự tiện lợi mà các bên tham gia chuyển tệp tìm kiếm

Vậy mã hóa là gì? . Cách duy nhất để truy cập thông tin tệp sau đó là giải mã nó. Quá trình mã hóa/giải mã được gọi là mật mã

Hãy xem cách chúng tôi có thể mã hóa và giải mã một số tệp của mình bằng Python. Chúng tôi sẽ tuân theo mã hóa đối xứng, nghĩa là sử dụng cùng một khóa để mã hóa và giải mã các tệp

Để tiếp tục làm theo hướng dẫn này, chúng ta sẽ cần thư viện Python sau. mật mã

Nếu bạn chưa cài đặt chúng, vui lòng mở “Command Prompt” [trên Windows] và cài đặt chúng bằng mã sau

pip install cryptography

Và chúng tôi cũng sẽ cần một tệp mẫu mà chúng tôi sẽ làm việc với. Dưới đây là mẫu. csv với một số dữ liệu về điểm số của học sinh

https. //pyshark. com/wp-content/uploads/2020/08/grades. csv

Tạo khóa

Trong ví dụ của chúng tôi, chúng tôi sẽ sử dụng phương trình đối xứng

Fernet là mật mã được xác thực không cho phép đọc và/hoặc sửa đổi tệp mà không có “chìa khóa”

Bây giờ, hãy tạo khóa và lưu nó vào cùng thư mục với tệp dữ liệu của chúng tôi

Nếu bạn kiểm tra thư mục chứa mã Python của bạn, bạn sẽ thấy mykey. tài liệu quan trọng. Bạn có thể mở nó bằng bất kỳ trình soạn thảo văn bản nào [trong trường hợp của tôi, nó hiển thị trong thư mục cục bộ vì tôi sử dụng Mã VS]. Tệp phải chứa một dòng là một chuỗi có thứ tự ký tự. Đối với tôi đó là “VlD8h2tEiJkQpKKnDNKnu8ya2fpIBMOo5oc7JKNasvk=”

Đang tải một khóa

Sau khi chúng tôi tạo khóa mã hóa, chúng tôi sẽ cần tải nó vào môi trường của mình để mã hóa/giải mã các tệp

Bước sau đây rất đơn giản và chỉ cần mở mykey. key và lưu trữ nó trong bộ nhớ cục bộ

Và chỉ để xác minh, chúng ta sẽ thấy đầu ra sau

VlD8h2tEiJkQpKKnDNKnu8ya2fpIBMOo5oc7JKNasvk=

Khóa mã hóa hiện được lưu trữ cục bộ dưới dạng biến khóa

Mã hóa một tập tin

Bây giờ chúng ta có tệp để mã hóa và khóa mã hóa, bây giờ chúng ta sẽ viết một hàm để sử dụng chúng và trả về tệp được mã hóa

Hãy thảo luận về những gì chúng ta đã làm ở đây

  • Chúng tôi khởi tạo đối tượng Fernet dưới dạng cửa hàng dưới dạng biến cục bộ f
  • Tiếp theo, chúng tôi đọc dữ liệu gốc của mình [điểm. csv] thành bản gốc
  • Sau đó, chúng tôi mã hóa dữ liệu bằng đối tượng Fernet và lưu trữ dưới dạng mã hóa
  • Và cuối cùng, chúng tôi viết nó thành một cái mới. csv có tên là “enc_grades. csv”

Bạn có thể xem tệp được mã hóa tại đây

https. //pyshark. com/wp-content/uploads/2020/09/enc_grades. csv

Giải mã một tập tin

Sau khi bạn đã mã hóa tệp và, chẳng hạn như đã chuyển thành công tệp sang một vị trí khác, bạn sẽ muốn truy cập tệp đó. Bây giờ, dữ liệu đó ở định dạng được mã hóa. Bước tiếp theo là giải mã nó trở lại nội dung ban đầu

Quá trình chúng ta sẽ thực hiện bây giờ ngược lại với quá trình mã hóa trong phần trước. Chính xác là cùng một quy trình, nhưng bây giờ chúng ta sẽ chuyển từ tệp được mã hóa sang tệp được giải mã

Hãy thảo luận về những gì chúng ta đã làm ở đây

  • Chúng tôi khởi tạo đối tượng Fernet dưới dạng cửa hàng dưới dạng biến cục bộ f
  • Tiếp theo, chúng tôi đọc dữ liệu được mã hóa của mình [enc_grades. csv] thành mã hóa
  • Sau đó, chúng tôi giải mã dữ liệu bằng đối tượng Fernet và lưu trữ dưới dạng giải mã
  • Và cuối cùng, chúng tôi viết nó thành một cái mới. csv có tên là “dec_grades. csv”

Bạn có thể xem file đã giải mã tại đây

https. //pyshark. com/wp-content/uploads/2020/09/dec_grades. csv

So sánh “dec_grades. csv” với “điểm gốc. csv”, bạn sẽ thấy rằng trên thực tế hai cái này có nội dung giống hệt nhau. Quá trình mã hóa/giải mã của chúng tôi đã thành công

Hoàn thành ví dụ lập trình hướng đối tượng

Đây là phần bổ sung khi tôi sắp xếp mọi thứ theo định dạng có cấu trúc hơn

Và đây là một ví dụ về mã hóa/giải mã bằng cách sử dụng lớp trên

Phần kết luận

Bài viết này giới thiệu mã hóa và giải mã tệp đối xứng cơ bản bằng Python. Chúng tôi đã thảo luận về một số phần của thư viện mật mã cũng như tạo một ví dụ về quy trình đầy đủ

Vui lòng để lại nhận xét bên dưới nếu bạn có bất kỳ câu hỏi nào hoặc có đề xuất cho một số chỉnh sửa và xem thêm các bài viết về Lập trình Python của tôi

Có thể mã hóa tệp python không?

Hack đạo đức. Mật mã cho tin tặc . Đối với điều này, bạn sẽ phải sử dụng plugin PyCrypto. Bạn có thể cài đặt plugin này bằng lệnh được cung cấp bên dưới. it is possible to encrypt and decrypt files before transmitting to a communication channel. For this, you will have to use the plugin PyCrypto. You can installation this plugin using the command given below.

Làm cách nào để mã hóa các tệp lớn bằng RSA trong Python?

Triển khai thuật toán RSA trong Python .
def tạoKeys[]. [Khóa công khai, Khóa riêng] = rsa. .
def loadKeys[]. với open['keys/publicKey. pem', 'rb'] dưới dạng p. khóa công khai = rsa. .
mã hóa def [tin nhắn, khóa]. trả lại rsa. .
giải mã def [bản mã, khóa]. cố gắng. trả lại rsa. .
dấu hiệu def [tin nhắn, khóa]. trả lại rsa

Bạn có thể giải mã một tập tin được mã hóa?

Bạn có thể giải mã các tệp và thư mục được mã hóa của mình trên Windows bằng Dấu nhắc Lệnh , một trình thông dịch dòng lệnh được gọi là cmd. exe hoặc cmd. Điều này hoạt động nếu trước đó bạn đã mã hóa tệp bằng lệnh Cipher và bạn đang sử dụng chính PC và bản sao Windows giống như khi bạn mã hóa tệp.

Làm cách nào để giải mã một tệp văn bản?

Bạn cũng có thể điều hướng đến hộp thoại Giải mã [các] tệp bằng cách đi tới Tệp. mã hóa. giải mã tập tin. Bạn có thể nhập tệp cần giải mã hoặc duyệt tệp bằng cách nhấp vào nút duyệt ở bên phải trường "Tệp cần giải mã"

Chủ Đề