Computer >> Máy Tính >  >> Lập trình >> MySQL

Hiểu mã hóa base64 trong MySQL?

Để mã hóa base64, bạn có thể sử dụng hai chức năng -

  • TO_BASE64 ()
  • FROM_BASE64 ()

Cú pháp cho mã hóa base64 như sau -

SELECT TO_BASE64(anyValue) as AnyVariableName;

Cú pháp giải mã base64 như sau -

SELECT FROM_BASE64(encodeValue) as anyVariableName

Để hiểu khái niệm trên, chúng ta hãy sử dụng cú pháp trên -

Trường hợp 1 - Mã hóa

Để mã hóa giá trị, hãy sử dụng to_base64 (). Truy vấn như sau -

mysql> select TO_BASE64('Password') as Base64EncodeValue;

Đầu ra

+-------------------+
| Base64EncodeValue |
+-------------------+
| UGFzc3dvcmQ=      |
+-------------------+
1 row in set (0.00 sec)

Trường hợp 2 - Giải mã

Để giải mã giá trị, hãy sử dụng from_base64 (). Truy vấn như sau -

mysql> select FROM_BASE64('UGFzc3dvcmQ=') as Base64DecodeValue;

Đầu ra

+-------------------+
| Base64DecodeValue |
+-------------------+
| Password          |
+-------------------+
1 row in set (0.00 sec)

Bạn có thể hiểu điều này bằng cách tạo một bảng. Truy vấn để tạo bảng như sau -

mysql> create table Base64Demo
-> (
-> ProductId varchar(100)
-> );
Query OK, 0 rows affected (0.54 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

mysql> insert into Base64Demo values('321Product');
Query OK, 1 row affected (0.16 sec)

mysql> insert into Base64Demo values('Product456');
Query OK, 1 row affected (0.14 sec)

mysql> insert into Base64Demo values('654Product');
Query OK, 1 row affected (0.15 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from Base64Demo;

Đầu ra

+------------+
| ProductId  |
+------------+
| 321Product |
| Product456 |
| 654Product |
+------------+
3 rows in set (0.00 sec)

Đây là truy vấn để mã hóa trong base64. Truy vấn như sau -

mysql> select TO_BASE64(ProductId) as Base64Encode from Base64Demo;

Đầu ra

+------------------+
| Base64Encode     |
+------------------+
| MzIxUHJvZHVjdA== |
| UHJvZHVjdDQ1Ng== |
| NjU0UHJvZHVjdA== |
+------------------+
3 rows in set (0.00 sec)

Bây giờ chúng ta hãy kiểm tra chéo xem sau khi giải mã giá trị đầu tiên trong cột, chúng ta có nhận được giá trị ban đầu hay không. Truy vấn như sau -

mysql> select FROM_BASE64('MzIxUHJvZHVjdA==') as DecodeValue;

Đầu ra

+-------------+
| DecodeValue |
+-------------+
| 321Product  |
+-------------+
1 row in set (0.00 sec)

Có, chúng tôi đang nhận được giá trị ban đầu.