瞭解 MySQL 中的 base64 編碼?


要對 base64 進行編碼,你可以使用兩種功能 -

  • TO_BASE64()
  • FROM_BASE64()

base64 編碼的語法如下 -

SELECT TO_BASE64(anyValue) as AnyVariableName;

base64 解碼的語法如下 -

SELECT FROM_BASE64(encodeValue) as anyVariableName

為了理解上述概念,讓我們使用上面的語法 -

案例 1 - 編碼

為了對值進行編碼,使用 to_base64()。查詢如下 -

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

輸出

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

案例 2 - 解碼

為了對值進行解碼,使用 from_base64()。查詢如下 -

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

輸出

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

你可以透過建立一個表來理解這一點。建立表的查詢如下 -

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

使用插入命令在表中插入一些記錄。查詢如下 -

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)

使用 select 語句從表中顯示所有記錄。查詢如下 -

mysql> select *from Base64Demo;

輸出

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

以下是 base64 編碼的查詢。查詢如下 -

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

輸出

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

現在讓我們交叉檢查一下,解碼列中的第一個值後是否得到了原始值。查詢如下 -

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

輸出

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

是的,我們得到了初始值。

更新於: 2020 年 6 月 25 日

3K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告