Python mã hóa Base64

Module base64 có các chức năng giúp mã hóa dữ liệu văn bản hoặc nhị phân sang định dạng base64 và giải mã dữ liệu base64 thành dữ liệu văn bản hoặc nhị phân. Mô-đun base64 được sử dụng để mã hóa và giải mã dữ liệu theo các cách sau

Mã hóa Base64¶

Mô-đun base64 cung cấp chức năng b64encode[]. Nó mã hóa một đối tượng giống byte bằng Base64 và trả về các byte được mã hóa. Hãy xem cách sử dụng chức năng này

Ghi chú. Vì chúng tôi bắt đầu bằng một chuỗi, trước tiên chúng tôi mã hóa nó thành một đối tượng giống như byte bằng cách sử dụng chuỗi. mã hóa[]. Sau đó, chúng tôi chuyển đổi nó trở lại thành một chuỗi bằng chuỗi. giải mã[]. Bài viết này hướng dẫn thêm về sự khác biệt giữa đối tượng byte và chuỗi trong Python

import base64

data = "Python is a programming language"
data_bytes = data.encode['ascii']

base64_bytes = base64.b64encode[data_bytes]
base64_string = base64_bytes.decode['ascii']

print["Encoded Data: ", base64_string]

# Output:
Encoded Data:  UHl0aG9uIGlzIGEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2U=

Trong ví dụ trên, trước tiên, chúng tôi chuyển đổi chuỗi đầu vào thành các đối tượng giống như byte và sau đó mã hóa các đối tượng giống như byte đó thành định dạng base64

Giải mã Base64¶

Giải mã chuỗi base64 ngược lại với mã hóa. Mô-đun base64 cung cấp hàm b64decode[] giải mã đối tượng giống như byte được mã hóa Base64 hoặc chuỗi ASCII và trả về byte đã giải mã. Hãy xem cách sử dụng chức năng này

import base64

base64_string = "UHl0aG9uIGlzIGEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2U="
base64_bytes = base64_string.encode['ascii']

data_bytes = base64.b64decode[base64_bytes]
data = data_bytes.decode['ascii']

print["Decoded Data:", data]

# Output:
Decoded Data: Python is a programming language

Trong ví dụ trên, đầu tiên chúng ta chuyển đổi các chuỗi base64 thành các byte dữ liệu chưa được mã hóa và sau đó giải mã các byte đó để lấy chuỗi gốc

Ghi chú. Để tránh hỏng dữ liệu, hãy đảm bảo sử dụng cùng một định dạng mã hóa khi chuyển đổi từ chuỗi thành byte và từ byte thành chuỗi

Phần kết luận¶

Trong hướng dẫn này, chúng ta đã học những kiến ​​thức cơ bản về mã hóa và giải mã base64 trong Python. Nếu bạn muốn tìm hiểu thêm về mã hóa và giải mã base64, bạn có thể truy cập tài liệu chính thức của mô-đun base64

Mã hóa Base64 chuyển đổi dữ liệu nhị phân thành định dạng văn bản, được truyền qua kênh liên lạc nơi người dùng có thể xử lý văn bản một cách an toàn. Base64 còn được gọi là Thư điện tử nâng cao quyền riêng tư [PEM] và chủ yếu được sử dụng trong quy trình mã hóa email

Python bao gồm một mô-đun có tên là BASE64 bao gồm hai chức năng chính như bên dưới -

  • cơ sở64. giải mã [đầu vào, đầu ra] - Nó giải mã tham số giá trị đầu vào được chỉ định và lưu trữ đầu ra đã giải mã dưới dạng một đối tượng

  • cơ sở64. mã hóa [đầu vào, đầu ra] - Nó mã hóa tham số giá trị đầu vào được chỉ định và lưu trữ đầu ra được giải mã dưới dạng một đối tượng

Chương trình mã hóa

Bạn có thể sử dụng đoạn mã sau để thực hiện mã hóa base64 -

import base64
encoded_data = base64.b64encode["Encode this text"]

print["Encoded text with base 64 is"]
print[encoded_data]

đầu ra

Mã cho mã hóa base64 cung cấp cho bạn đầu ra sau -

Chương trình giải mã

Bạn có thể sử dụng đoạn mã sau để thực hiện giải mã base64 -

import base64
decoded_data = base64.b64decode["RW5jb2RlIHRoaXMgdGV4dA=="]

print["decoded text is "]
print[decoded_data]

đầu ra

Mã giải mã base64 cung cấp cho bạn đầu ra sau -

Sự khác biệt giữa ASCII và base64

Bạn có thể quan sát những khác biệt sau khi làm việc trên ASCII và base64 để mã hóa dữ liệu -

  • Khi bạn mã hóa văn bản trong ASCII, bạn bắt đầu với một chuỗi văn bản và chuyển đổi nó thành một chuỗi byte

  • Khi bạn mã hóa dữ liệu trong Base64, bạn bắt đầu với một chuỗi byte và chuyển đổi nó thành chuỗi văn bản

Hạn chế

Thuật toán Base64 thường được sử dụng để lưu trữ mật khẩu trong cơ sở dữ liệu. Hạn chế chính là mỗi từ được giải mã có thể được mã hóa dễ dàng thông qua bất kỳ công cụ trực tuyến nào và những kẻ xâm nhập có thể dễ dàng lấy thông tin

Làm cách nào để giải mã chuỗi mã hóa base64 trong Python?

Nhập base64 và codec
Chuyển đổi chuỗi thành b"" bằng codec. mã hóa [. ] và lưu trữ dưới dạng biến [ b64Str tại đây ]
Đơn giản chỉ cần sử dụng base64. b64decode[b64Str] và lưu dưới dạng resStr
[ Tùy chọn ] In resStr

Làm cách nào để mã hóa trong base64?

Các bước để mã hóa chuỗi bằng thuật toán base64 như sau. .
Đếm số ký tự trong String. .
Chuyển đổi chuỗi sang định dạng nhị phân ASCII 8 bit bằng bảng ASCII
Sau khi chuyển đổi sang định dạng nhị phân, hãy chia dữ liệu nhị phân thành các khối 6 bit
Chuyển đổi khối dữ liệu nhị phân 6 bit thành số thập phân

Làm cách nào để mã hóa tên người dùng và mật khẩu trong base64 bằng Python?

Xem các bước sau bằng cách sử dụng mô-đun Pythons Request. Trước tiên, hãy nhập mô-đun base64 và chuyển đổi tên người dùng và mật khẩu của chúng tôi thành chuỗi byte được mã hóa base64. Bạn có thể thấy ở trên rằng chúng ta có thể tạo một chuỗi byte bằng cách sử dụng. encode['ascii'] hàm trên đối tượng auth_str .

base64 b64decode trong Python là gì?

b64decode[] trong Python. Với sự trợ giúp của base64. b64decode[], chúng ta có thể giải mã chuỗi nhị phân thành dạng bình thường . Trở lại. Trả lại chuỗi đã giải mã.

Chủ Đề