db2 luw 11.5 sha256函数不起作用
我遇到了使用SHA256算法对varchar值进行散列的问题,为此我使用SYSIBM.HASH函数:db2 luw 11.5 sha256函数不起作用,db2,db2-luw,Db2,Db2 Luw,我遇到了使用SHA256算法对varchar值进行散列的问题,为此我使用SYSIBM.HASH函数:选择SYSIBM.HASH('17036228142',2)作为SYSIBM.sysdummy1的值 但结果我得到了完全错误的值: 如何以以下形式获得正确的结果: 29CDEC08B6BB8D21632FDD23C212DEC3E25FEBA7B1FC55D1D706CAE023D9274 非常感谢Db2 LUW HASH()函数返回一个varbinary。 这不是可打印的字符串 如果要查看十六
选择SYSIBM.HASH('17036228142',2)作为SYSIBM.sysdummy1的值
但结果我得到了完全错误的值:
如何以以下形式获得正确的结果:
29CDEC08B6BB8D21632FDD23C212DEC3E25FEBA7B1FC55D1D706CAE023D9274
非常感谢Db2 LUW HASH()函数返回一个varbinary。
这不是可打印的字符串
如果要查看十六进制等效值,请尝试对HASH()函数的结果使用hex()函数:
例如:
values hex(hash('Charlie at IBM', 2)) may result in:
1BC256DA300813A04E2C82C45243E6692F157F29F30AB74D2A63667505AD6C97
请注意,当您使用DB2CLP(命令行处理器)时,它可能会自动为您进行转换。但是如果您从程序提交SQL,则必须进行转换。这是一个完全正确的值,因为HASH()返回一个VARBINARY(而不是您想要的可打印十六进制字符串)。您必须将varbinary转换为十六进制字符串…进行研究。values散列('17036228142',2)代码>将是一个短得多的示例Mao,非常感谢!谢谢你的帮助!