问题描述
OM-
我需要在数据库内部和外部创建一个 (大) 哈希,以产生相同的结果。我正在阅读的所有内容都说SHA256将满足要求,但是我无法编写与Linux库相同答案的SQL。
即。
但是
我错过了什么?
谢谢,乔治
我需要在数据库内部和外部创建一个 (大) 哈希,以产生相同的结果。我正在阅读的所有内容都说SHA256将满足要求,但是我无法编写与Linux库相同答案的SQL。
即。
SQL> select DBMS_CRYPTO.HASH( UTL_I18N.STRING_TO_RAW( 'The Little Brown Fox', 'AL32UTF8' ), 4 /* DBMS_CRYPTO.HASH_SH256 */ ) from dual ; DBMS_CRYPTO.HASH(UTL_I18N.STRING_TO_RAW('THELITTLEBROWNFOX','AL32UTF8'),4/*DBMS_ -------------------------------------------------------------------------------- F3DAFB6DB9169798CED60C1DF1BA3D354D579594DF3963A2172C130A012DDA7A复制
但是
$ echo 'The Little Brown Fox' | openssl dgst -sha (stdin)= d7acd2042179ff8ac6c67ce667a27ca024e6a7f8复制
我错过了什么?
谢谢,乔治
专家解答
好吧,第一个问题是您没有使用openssl哈希到SH256!
第二个是echo包含换行符。用-n抑制这个。或将其添加到您的SQL字符串的末尾。你应该看到同样的结果:
第二个是echo包含换行符。用-n抑制这个。或将其添加到您的SQL字符串的末尾。你应该看到同样的结果:
bash-4.1$ echo -n 'The Little Brown Fox' | openssl dgst -sha256 (stdin)= f3dafb6db9169798ced60c1df1ba3d354d579594df3963a2172c130a012dda7a bash-4.1$ echo 'The Little Brown Fox' | openssl dgst -sha256 (stdin)= cd0585b84f5c1f83eb5c2537a7d6b8c24da46d68d1bc89fea60b6f914d2ad8ca bash-4.1$ sqlplus chris/xxxxx SQL*Plus: Release 12.1.0.2.0 Production on Tue Oct 17 08:57:00 2017 Copyright (c) 1982, 2014, Oracle. All rights reserved. Last Successful login time: Tue Oct 17 2017 08:50:04 -07:00 Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> SQL> select 2 DBMS_CRYPTO.HASH( UTL_I18N.STRING_TO_RAW( 'The Little Brown Fox', 'AL32UTF8' ), 4 /* DBMS_CRYPTO.HASH_SH256 */ ) no_newline, 3 DBMS_CRYPTO.HASH( UTL_I18N.STRING_TO_RAW( 'The Little Brown Fox' || chr(10), 'AL32UTF8' ), 4 /* DBMS_CRYPTO.HASH_SH256 */ ) with_newline from dual / 4 5 NO_NEWLINE -------------------------------------------------------------------------------- WITH_NEWLINE -------------------------------------------------------------------------------- F3DAFB6DB9169798CED60C1DF1BA3D354D579594DF3963A2172C130A012DDA7A CD0585B84F5C1F83EB5C2537A7D6B8C24DA46D68D1BC89FEA60B6F914D2AD8CA复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。