如何解码下面的Base64编码字符串示例?(它存储在MySQL DB上)

base64:type251:WXlnY2p0bFl5Z2NqdGxZeWdjanRsWXlnY2

我已经try 使用普通的Base64进行解码,但都无济于事."type251"前缀应该是有意义的,但我在文档/谷歌搜索中没有找到任何东西.

有没有可用的在线工具来破译它?

推荐答案

前缀base64:type251:除了对您的应用程序外没有其他意义.我假设它是一些额外的注释,告诉客户端在结果被解码后如何处理它.

您显示的字符串'WXlnY2p0bFl5Z2NqdGxZeWdjanRsWXlnY2'不是有效的Base64字符串,因为它没有填充到八位字节集以使其成为24位的偶数倍.阅读维基百科关于Base64填充:https://en.wikipedia.org/wiki/Base64#Output_padding的文章

try 对其进行解码失败,仅返回NULL:

mysql> select from_base64('WXlnY2p0bFl5Z2NqdGxZeWdjanRsWXlnY2') as result;
+----------------+
| result         |
+----------------+
| NULL           |
+----------------+

如果添加几个=个填充字符,MySQL的内置函数可以在go 除前缀后对Base64字符串进行解码.

mysql> select from_base64('WXlnY2p0bFl5Z2NqdGxZeWdjanRsWXlnY2==') as result;
+------------------------------------------------------+
| result                                               |
+------------------------------------------------------+
| 0x597967636A746C597967636A746C597967636A746C59796763 |
+------------------------------------------------------+

这是一个二进制字节的字符串,呈现为十六进制数字,因此可以以人类可读的形式显示.

什么意思?我没有头绪.我可以猜测它是"type251"的序列化对象实例,它是特定于保存该数据的应用程序的东西.您还没有描述关于您的应用程序的任何内容,甚至没有描述它是用什么语言编写的.

Mysql相关问答推荐

是否有一种方法可以在mysql中设置一列,使其自动成为该行的行号的值?

无法从容器从APS. NET应用程序连接到MySQL服务器容器

在MySQL CLI中,是否有自动完成过程的方法?

MySQL 计数出现的百分比大于

按特定顺序匹配 EventS 和下一个 EventA 之前的第一个 Event 之间的记录

Mysql - 按周分组但从 1 开始计数

根据 Power Query 中的条件替换值

Mysql 中相同列的相关 2 查询

为什么 MySQL 不使用索引进行简单的SELECT * FROM Table WHERE field='value'查询?

在 Spring Data jpa 中的 @Query 中无法识别本机查询

Mysql 相等性反对 false 或 true

MySQL REGEXP 在没有 BINARY 模式的情况下区分大小写?

使用 ON DUPLICATE KEY 将列增加一定数量 MySQL NodeJS

使用 MySQL LIMIT、OFFSET 进行分页

用序列号mysql更新列

如何在 MySQL 的日期时间字段中存储 NULL 值?

在 MySQL 中删除数据库返回删除数据库错误:66

比较 MySQL 中的日期忽略 DateTime 字段的时间部分

MySQL DAYOFWEEK() - 我的一周从星期一开始

如何在 MYSQL 中使用 SQL 在两个日期时间值之间减go 并以分钟或秒为单位检索结果?