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