需要一个oracle函数来将字符串转换为字节数组

需要一个oracle函数来将字符串转换为字节数组,第1张

概述我有一个专栏: LOGIN_PWD -> RAW(256 BYTE) 我必须使用插入查询将散列密码字符串插入此列.那么有没有可以将字符串转换为字节的oracle函数 INSERT INTO TABLE_NAME (LOGIN_PWD) VALUES (convert.toBytes('hashed password')); 我使用java程序通过在我的本地机器上使用string.getByte 我有一个专栏:

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()中获得的相同哈希值相同.

如果由于某种原因想要将其恢复为文本,可以使用UTL_RAW.CAST_TO_VARCHAR2

从table_name中选择UTL_RAW.CAST_TO_VARCHAR2(LOGIN_PWD);

UTL_RAW.CAST_TO_VARCHAR2(LOGIN_PWD)-----------------------------------6a25a2b265d917ea91447daa81b2506d
总结

以上是内存溢出为你收集整理的需要一个oracle函数来将字符串转换为字节数组全部内容,希望文章能够帮你解决需要一个oracle函数来将字符串转换为字节数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1166484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存