Oracle SQL将十六进制值选择为SHA256

Oracle SQL将十六进制值选择为SHA256,sql,oracle,hex,oracle-sqldeveloper,sha256,Sql,Oracle,Hex,Oracle Sqldeveloper,Sha256,表上有一个特定的列(十六进制值),其中所有的值(字符串)都是base16(十六进制)编码的 是否可以选择十六进制_值的所有成员并将结果进行哈希处理 例如: ------------------------- | HEX_VALUES | ------------------------- | 70617373776f7264313233a | //password123 (HEX) ------------------------- | 31323370617

表上有一个特定的列(十六进制值),其中所有的值(字符串)都是base16(十六进制)编码的

是否可以选择十六进制_值的所有成员并将结果进行哈希处理

例如:

 -------------------------
|       HEX_VALUES        |
 -------------------------
| 70617373776f7264313233a | //password123 (HEX)
 -------------------------  
| 31323370617373776f7264a | //123password (HEX)
 ------------------------- 
| 6c6f72656d697073756d    | //loremipsum (HEX)
 ------------------------- 
| 6d7970617373776f7264    | //mypassword (HEX)
 ------------------------- 
SQL查询将完成所有工作,如下所示(第1行示例):

706173776F726431323A(字符串六角)→ 密码123(常规字符串)→ sha256(密码123)(巨型字符串)

因此,此SQL查询的结果将是:

 -------------------------
|       HEX_VALUES        |
 -------------------------
| sha256(password123)     | 
 -------------------------  
| sha256(123password)     | 
 ------------------------- 
| sha256(loremipsum)      | 
 ------------------------- 
| sha256(mypassword)      | 
 ------------------------- 
我知道我可以:

1) 选择十六进制值(Oracle SQL)

2) SQL查询后:转换为常规字符串→ SHA256(常规字符串)


但是我确实需要在不使用Oracle SQL以外的任何其他源代码的情况下执行此操作。

在Oracle 12及更高版本中,有一个函数可以使用。在字符串上使用,然后将该值传递给
标准\u hash()


顺便说一下,SHA256是一种散列算法而不是加密算法。所以没有“SHA256加密”值。毕竟,这对我来说是有效的:

 SELECT 
    standard_hash(
      UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW(HEX_VALUES)),
      'SHA256'
    ) 
    FROM ELBAT

非常感谢你!♥毕竟,这对我来说是有效的:
SELECT standard_hash(UTL_RAW.CAST)TO_VARCHAR2(HEXTORAW(NAME)),“SHA256”)FROM ELBAT
 SELECT 
    standard_hash(
      UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW(HEX_VALUES)),
      'SHA256'
    ) 
    FROM ELBAT