如果您的要求与您所说的一样简单,那么您可以使用
UTL_RAW.CAST_TO_RAW function:
INSERT INTO TABLE_NAME (LOGIN_PWD)
VALUES (UTL_RAW.CAST_TO_RAW('hashed password'));
例如,使用Md5(即6a25a2b265d917ea91447daa81b2506d)散列的纯字符串’散列密码’,表中存储的原始值为:
SELECT DUMP(LOGIN_PWD) FROM TABLE_NAME;
DUMP(LOGIN_PWD)
------------------------------------------------------------------------------------------------------------------
Typ=23 Len=32: 54,97,50,53,97,50,98,50,54,53,100,57,49,55,101,97,57,49,52,52,55,100,97,97,56,49,98,50,53,48,54,100
这与我在getBytes()中获得的相同哈希值相同.
从TABLE_NAME中选择UTL_RAW.CAST_TO_VARCHAR2(LOGIN_PWD);
UTL_RAW.CAST_TO_VARCHAR2(LOGIN_PWD)
-----------------------------------
6a25a2b265d917ea91447daa81b2506d