需要一个oracle函数来将字符串转换为字节数组
发布时间:2021-03-15 15:23:44 所属栏目:站长百科 来源:网络整理
导读:我有一个专栏: LOGIN_PWD - RAW(256 BYTE) 我必须使用插入查询将散列密码字符串插入此列.那么有没有可以将字符串转换为字节的oracle函数 INSERT INTO TABLE_NAME (LOGIN_PWD) VALUES (convert.toBytes('hashed password')); 我使用java程序通过在我的本地机
我有一个专栏: LOGIN_PWD -> RAW(256 BYTE) 我必须使用插入查询将散列密码字符串插入此列.那么有没有可以将字符串转换为字节的oracle函数 INSERT INTO TABLE_NAME (LOGIN_PWD) VALUES (convert.toBytes('hashed password')); 我使用java程序通过在我的本地机器上使用string.getBytes()方法来做到这一点,但对于其他环境我不能使用相同的程序需要使用查询来做到这一点 解决方法如果您的要求与您所说的一样简单,那么您可以使用UTL_RAW.CAST_TO_RAW function:
INSERT INTO TABLE_NAME (LOGIN_PWD) VALUES (UTL_RAW.CAST_TO_RAW('hashed password')); SQL Fiddle demo. 例如,使用Md5(即6a25a2b265d917ea91447daa81b2506d)散列的纯字符串’散列密码’,表中存储的原始值为: SELECT DUMP(LOGIN_PWD) FROM TABLE_NAME; DUMP(LOGIN_PWD) ------------------------------------------------------------------------------------------------------------------ Typ=23 Len=32: 54,97,50,53,98,54,100,57,49,55,101,52,56,48,100 这与我在getBytes()中获得的相同哈希值相同. 如果由于某种原因想要将其恢复为文本,可以使用 从TABLE_NAME中选择UTL_RAW.CAST_TO_VARCHAR2(LOGIN_PWD); UTL_RAW.CAST_TO_VARCHAR2(LOGIN_PWD) ----------------------------------- 6a25a2b265d917ea91447daa81b2506d (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |