BACKGROUND:
DBAs have hidden DBMS_CRYPTO package to any role, grantee, and I wonder why. I have to use wrapper instead :(
Is there any way to get the same hash for the text field with the same text? All below methods give different results for the same text as they seem depending on rowid, or something similar:
SELECT
, utl_raw.cast_to_raw(sys_op_map_nonnull(log_msg)) AS "RAW"
, rawtohex(utl_raw.cast_to_raw(sys_op_map_nonnull(log_msg))) AS raw_hex
, rawtohex(standard_hash(sys_op_map_nonnull(log_msg), 'MD5')) AS md5_hex
, ora_hash(log_msg)
, dbms_obfuscation_toolkit.md5(input => utl_raw.cast_to_raw(sys_op_map_nonnull(log_msg))) AS md5
, rawtohex(dbms_obfuscation_toolkit.md5(input => utl_raw.cast_to_raw(sys_op_map_nonnull(log_msg)))) AS hex
log_msg
is CLOB