要对 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)
是的,我们正在获取初始值。