它在做什么? (哈希,RAWTOHEX)
What is it doing? (HASH, RAWTOHEX)
我得到了这个 SQL 查询(使用 Netezza)并且有一个我以前没有使用过的函数 - 它 returns 一个密钥,但我不知道它从哪里得到它来自?:
select LOWER(SYSTEM..RAWTOHEX(SYSTEM..HASH(PROFILEID||'TK'||'CUST_V1',1))), ...
谁能解释一下它在做什么?
该代码使用 PROFILEID
中的值的 SHA-1 hash 与 'TKCUST_V1' 连接。 (为什么将其分成两个连接超出了我的范围。)
这可能 return 不是一个人类可读的结果,如文档所示:
select hash('Netezza',0);
HASH
------------------
Ã
®dïO=±NEÂ
ÂÂÃ
(1 row)
因此创建者调用了 RAWTOHEX
将其从字节字符串转换为十六进制字符串。 RAWTOHEX
将 return 像这样的十六进制值。
8D812C9E8DB362FCB20E
最后,它被翻译成小写形式。
我得到了这个 SQL 查询(使用 Netezza)并且有一个我以前没有使用过的函数 - 它 returns 一个密钥,但我不知道它从哪里得到它来自?:
select LOWER(SYSTEM..RAWTOHEX(SYSTEM..HASH(PROFILEID||'TK'||'CUST_V1',1))), ...
谁能解释一下它在做什么?
该代码使用 PROFILEID
中的值的 SHA-1 hash 与 'TKCUST_V1' 连接。 (为什么将其分成两个连接超出了我的范围。)
这可能 return 不是一个人类可读的结果,如文档所示:
select hash('Netezza',0); HASH ------------------ à ®dïO=±NE ÂÂà (1 row)
因此创建者调用了 RAWTOHEX
将其从字节字符串转换为十六进制字符串。 RAWTOHEX
将 return 像这样的十六进制值。
8D812C9E8DB362FCB20E
最后,它被翻译成小写形式。