在Oracle中散列字符串

时间:2012-03-29 16:14:38

标签: oracle hash

我知道有一个函数可以从Oracle中的varchar获取哈希值,但是当我运行查询以查看返回的值时,它会发送以下消息。

ORA-00904: : identificador no válido
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:
Error en la línea: 70, columna: 7

我正在做的是以下内容:

select DBMS_CRYPTO.hash(utl_raw.cast_to_raw('Foo'), 3) FROM dual;

它应该返回字符串的SHA-1。

1 个答案:

答案 0 :(得分:3)

这对我有用

SQL> select DBMS_CRYPTO.hash(utl_raw.cast_to_raw('Foo'), 3) FROM dual;

DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW('FOO'),3)
--------------------------------------------------------------------------------
201A6B3053CC1422D2C3670B62616221D2290929

您确定在EXECUTEUTL_RAW软件包上授予了运行此用户的用户{1}}访问权限吗?如果代码的第70行是此DBMS_CRYPTO语句,我会下注第7列是SELECT调用的开始位置,并且您无法访问DBMS_CRYPTO包。< / p>