出于分析目的,我想对Fusionauth DB运行查询。但是id字段被存储为二进制blobs。你有没有一个函数(java或sql)可以用来将这个blob转换成一个字符串?
上云精选
2核2G云服务器 每月9.33元起,个人开发者专属3年机 低至2.3折
我假设您使用的是MySQL。FusionAuth使用UUID作为唯一的Ids,在MySQL中,我们将其存储为 BINARY(16) 。
BINARY(16)
如果希望以人类可读的形式选择此值,则可以执行诸如 SELECT HEX(id) FROM table_name 之类的选择。
SELECT HEX(id) FROM table_name
如果要选择此列并将其反序列化为Java UUID类型,可以使用类似于以下内容的代码:
public UUID fromByteArray(byte[] ba) { long msb = 0; long lsb = 0; for (int i = 0; i < 8; i++) { msb = (msb << 8) | (ba[i] & 0xff);