如何将 base32 解码为 mysql 中的字符串

How can I decode base32 to string in mysql

我正在寻找一种方法来将以 base32 加密的字符串解码回 mysql 中的原始字符串。 我知道有一个 SP 可以使用 base64 执行此操作,但找不到 base32 的任何内容。

可能吗?有没有我可以在某处使用的存储过程?

有哪些实现方法?

谢谢!

BASE 64 或 BASE 32 未加密,只是经过编码。 MySQL 没有执行 Base 32 字符串的 encoding/decoding 的本机函数,因为它具有 Base 64,FROM_BASE_64 e TO_BASE_64。

作为替代方案,您可以尝试使用 CONV 数学函数(取决于存储为 BASE32 的内容)。假设您将 UUID 数字存储为 DECIMAL,并且需要将它们显示为 BASE32,反之亦然:

SELECT uuid, conv(uuid, 10, 32) uuid_b32, conv(conv(uuid, 10, 32), 32, 10) 
FROM database.table;

上面的答案是针对不同基数之间的数字转换。如果不是这种情况,因为当您将二进制文件存储在 blob 列中时,您可能需要在 MySQL 之外执行 encoding/decoding。您可以使用 MIME::Base32 或您首选语言的适当模块。无论如何,您需要知道该字段是否具有以 Base32 编码的文本或二进制。