了解 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)
-> );

使用插入命令在表中插入一些记录。查询如下 -

mysql> insert into Base64Demo values('321Product');

mysql> insert into Base64Demo values('Product456');

mysql> insert into Base64Demo values('654Product');

使用 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)

是的,我们正在获取初始值。