Làm cách nào để chuyển đổi mã hóa thành giải mã trong PHP?

Trong bài viết nhanh này, chúng ta sẽ thảo luận về những điều cơ bản về mã hóa base64 trong ngữ cảnh của PHP. Về cơ bản, chúng ta sẽ xem cách bạn có thể sử dụng các hàm PHP để chuyển đổi dữ liệu sang định dạng được mã hóa base64

Mã hóa Base64 là gì?

Base64 là mã hóa dữ liệu nhị phân trong ASCII. Mỗi ký tự trong chuỗi đại diện cho sáu bit thông tin. Thực tế, nó đại diện cho dữ liệu nhị phân trong biểu diễn cơ sở 64. Kiểm tra mồi này trên các hệ thống số và cơ sở nếu bạn cần bồi dưỡng

Công dụng chính của mã hóa Base64 là mã hóa dữ liệu nhị phân thành văn bản ASCII, khi bạn muốn truyền dữ liệu đó qua các giao thức được thiết kế riêng để xử lý dữ liệu văn bản. Điều này đảm bảo rằng dữ liệu vẫn còn nguyên vẹn trong khi nó được vận chuyển. Cụ thể, Base64 được sử dụng cho những việc như gửi email và tải lên dữ liệu nhị phân ở dạng HTML

Một cách sử dụng phổ biến khác của mã hóa Base64 là băm. Tất nhiên, bạn không được phép sử dụng mã hóa Base64 để tạo băm, vì nó có thể dễ dàng giải mã. Đầu tiên, bạn tạo một hàm băm với sự trợ giúp của thuật toán băm như SHA, sau đó bạn chuyển đổi hàm băm kết quả thành định dạng được mã hóa Base64 để hiển thị nó. Thật dễ dàng để so sánh hai tổng kiểm tra được mã hóa Base64 về tính toàn vẹn

Trong phần tiếp theo, chúng ta sẽ thảo luận về các hàm Base64 tích hợp trong PHP

Hàm Base64 trong PHP

Có hai hàm chính trong PHP xử lý mã hóa Base64. Hàm

$redirectUrl = '//www.example.com/some/other/url';
6 cho phép bạn mã hóa dữ liệu ở định dạng MIME Base64. Mặt khác, hàm
$redirectUrl = '//www.example.com/some/other/url';
7 được sử dụng để giải mã dữ liệu được mã hóa MIME Base64

Hãy đi qua từng chức năng này một cách chi tiết

cơ sở64_encode

Hãy xem qua cú pháp của hàm

$redirectUrl = '//www.example.com/some/other/url';
6

1
base64_encode [ string $string ] : string

Đối số duy nhất bạn cần chuyển đến hàm

$redirectUrl = '//www.example.com/some/other/url';
6 là chuỗi nguồn mà bạn muốn mã hóa thành MIME Base64

Điều này trả về một chuỗi được mã hóa Base64. Điều quan trọng cần lưu ý là dữ liệu được mã hóa Base64 chiếm nhiều dung lượng hơn khoảng 33% so với dữ liệu gốc

cơ sở64_decode

Hãy xem qua cú pháp của hàm

$redirectUrl = '//www.example.com/some/other/url';
7

1
base64_decode [ string $string , bool $strict = false ] : string|false

Đối số đầu tiên là dữ liệu được mã hóa Base64 mà bạn muốn giải mã

Đối số thứ hai là tùy chọn, nhưng nếu bạn vượt qua

3
1, nó sẽ thực hiện kiểm tra nghiêm ngặt. Điều này có nghĩa là nếu dữ liệu được mã hóa Base64 chứa các ký tự bên ngoài bảng chữ cái Base64, hàm giải mã sẽ trả về
3
2. Điều này hữu ích để kiểm tra tính toàn vẹn của chuỗi được mã hóa Base64. Mặt khác, nếu bạn muốn âm thầm loại bỏ các ký tự không hợp lệ, chỉ cần chuyển
3
2, đây là giá trị mặc định

Khi giải mã thành công, hàm trả về chuỗi đã giải mã, ngược lại trả về

3
2. Điều quan trọng cần lưu ý là hàm
$redirectUrl = '//www.example.com/some/other/url';
7 có thể trả về dữ liệu nhị phân nếu chuỗi được đề cập ở định dạng nhị phân trước khi mã hóa

Trong phần tiếp theo, chúng ta sẽ thảo luận về cách bạn có thể sử dụng các hàm Base64 tích hợp sẵn trong PHP

Cách mã hóa và giải mã dữ liệu với MIME Base64

Trong phần này, chúng ta sẽ đi qua một vài ví dụ để xem hoạt động của các hàm Base64

Mã hóa tham số URL

Thông thường, bạn sẽ sử dụng hàm

$redirectUrl = '//www.example.com/some/other/url';
6 để mã hóa các tham số có chứa URL

Hãy nhanh chóng xem nó hoạt động như thế nào với ví dụ sau

1
$redirectUrl = '//www.example.com/some/other/url';
6
$redirectUrl = '//www.example.com/some/other/url';
7
$redirectUrl = '//www.example.com/some/other/url';
3
$redirectUrl = '//www.example.com/some/other/url';
0
base64_encode [ string $string ] : string
0
base64_encode [ string $string ] : string
1
base64_encode [ string $string ] : string
2
base64_encode [ string $string ] : string
3
base64_encode [ string $string ] : string
4

Như bạn có thể thấy, nếu chúng ta không sử dụng hàm

$redirectUrl = '//www.example.com/some/other/url';
6, URL kết quả sẽ giống như
3
8, URL này không hợp lệ

Tổng kiểm tra được mã hóa Base64

Như chúng ta đã thảo luận trước đó, hàm

$redirectUrl = '//www.example.com/some/other/url';
6 rất hữu ích khi chuyển đổi dữ liệu nhị phân thành chuỗi ASCII

Hãy cùng xem ví dụ sau

1
$redirectUrl = '//www.example.com/some/other/url';
6
$redirectUrl = '//www.example.com/some/other/url';
7
base64_encode [ string $string ] : string
8
3
base64_encode [ string $string ] : string
4

Trong ví dụ trên, hàm

$redirectUrl = '//www.example.com/some/other/url';
00 sẽ trả về dữ liệu nhị phân được băm. Vì vậy, nếu bạn không sử dụng hàm
$redirectUrl = '//www.example.com/some/other/url';
6, sẽ khó hiển thị dữ liệu nhị phân kết quả

Tệp đính kèm email

Trong PHP, khi bạn gửi email có tệp đính kèm, bạn có thể mã hóa nội dung tệp thành định dạng được mã hóa Base64. Trên thực tế, nếu bạn đang gửi tệp đính kèm nhị phân thì điều cần thiết là bạn phải mã hóa dữ liệu tệp đính kèm thay vì gửi ở định dạng thô

Hãy cùng xem ví dụ sau

1
$redirectUrl = '//www.example.com/some/other/url';
6
$redirectUrl = '//www.example.com/some/other/url';
7
1
4
3
1
6
$redirectUrl = '//www.example.com/some/other/url';
0
1
8
base64_encode [ string $string ] : string
1
base64_decode [ string $string , bool $strict = false ] : string|false
0
base64_encode [ string $string ] : string
3
base64_decode [ string $string , bool $strict = false ] : string|false
2
base64_decode [ string $string , bool $strict = false ] : string|false
3
base64_decode [ string $string , bool $strict = false ] : string|false
4
base64_decode [ string $string , bool $strict = false ] : string|false
5
base64_decode [ string $string , bool $strict = false ] : string|false
6
base64_decode [ string $string , bool $strict = false ] : string|false
7
base64_decode [ string $string , bool $strict = false ] : string|false
8
base64_decode [ string $string , bool $strict = false ] : string|false
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
$redirectUrl = '//www.example.com/some/other/url';
60
$redirectUrl = '//www.example.com/some/other/url';
61
$redirectUrl = '//www.example.com/some/other/url';
62
$redirectUrl = '//www.example.com/some/other/url';
63
$redirectUrl = '//www.example.com/some/other/url';
64
$redirectUrl = '//www.example.com/some/other/url';
65
$redirectUrl = '//www.example.com/some/other/url';
66
$redirectUrl = '//www.example.com/some/other/url';
67
$redirectUrl = '//www.example.com/some/other/url';
68
$redirectUrl = '//www.example.com/some/other/url';
69
1
2
$redirectUrl = '//www.example.com/some/other/url';
71
$redirectUrl = '//www.example.com/some/other/url';
72
$redirectUrl = '//www.example.com/some/other/url';
73
$redirectUrl = '//www.example.com/some/other/url';
74
$redirectUrl = '//www.example.com/some/other/url';
75
$redirectUrl = '//www.example.com/some/other/url';
76
$redirectUrl = '//www.example.com/some/other/url';
77
$redirectUrl = '//www.example.com/some/other/url';
78
$redirectUrl = '//www.example.com/some/other/url';
79
$redirectUrl = '//www.example.com/some/other/url';
0
$redirectUrl = '//www.example.com/some/other/url';
1
$redirectUrl = '//www.example.com/some/other/url';
2
$redirectUrl = '//www.example.com/some/other/url';
3
$redirectUrl = '//www.example.com/some/other/url';
4
base64_encode [ string $string ] : string
4

Như bạn có thể thấy, chúng tôi đã sử dụng hàm

$redirectUrl = '//www.example.com/some/other/url';
6 để mã hóa dữ liệu hình ảnh nhị phân trước khi nó được gửi dưới dạng tệp đính kèm

Bằng cách này, bạn có thể sử dụng các hàm Base64 trong PHP cho nhiều mục đích khác nhau

Sự kết luận

Trong bài viết nhanh này, chúng ta đã thảo luận về cách bạn có thể sử dụng các hàm Base64 trong quá trình phát triển PHP hàng ngày của mình.  

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

Hàm utf8_decode[] là một hàm sẵn có trong PHP được sử dụng để giải mã chuỗi UTF-8 thành ISO-8859- . Hàm này giải mã trở lại chuỗi đã mã hóa được mã hóa bằng hàm utf8_encode[]. Tham số. Hàm này chấp nhận tham số duy nhất $string được yêu cầu.

Làm cách nào để giải mã mã trong PHP?

PHP. Hàm urldecode[] . Thông số. Hàm này chấp nhận tham số duy nhất $input giữ url được giải mã. Giá trị trả về. Hàm này trả về chuỗi đã giải mã thành công.

Mã hóa và giải mã trong PHP là gì?

PHP cung cấp cho chúng ta khả năng mã hóa và giải mã URL với việc triển khai hai chức năng chính. Tuy nhiên, câu hỏi đặt ra là tại sao nó được sử dụng? . used to convert general URL strings and characters into an arrangement that can be conveyed over the internet.

Làm cách nào để mã hóa và giải mã ID trong PHP?

php // ví dụ base64_encode[]/base64_decode[] $string = 'Mã hóa và giải mã mã PHP được mã hóa';

Chủ Đề