Oracle STANDARD_HASH() 函数使用指南
Oracle STANDARD_HASH()
是一个内置函数,它使用由美国国家标准与技术研究所定义和标准化的多个哈希算法之一,为给定的表达式计算哈希值。
Oracle STANDARD_HASH()
函数可用于执行身份验证并在安全应用程序(如数字签名、校验和和指纹识别)中维护数据完整性。
Oracle STANDARD_HASH()
语法
这里是 Oracle STANDARD_HASH()
函数的语法:
STANDARD_HASH(expr [, 'method' ])
参数
expr
-
必需的。它确定要计算哈希值的数据。 由
expr
表示的数据长度没有限制,通常解析为列名。expr
不能是LONG
或LOB
类型,也不能是用户定义的对象类型。对于expr
,支持所有其他数据类型。 method
-
可选的。它允许您指定要使用的哈希算法的名称。有效的算法为
SHA1
、SHA256
、SHA384
、SHA512
和MD5
。如果省略此参数,则使用SHA1
。
返回值
Oracle STANDARD_HASH()
函数返回一个 RAW
类型的哈希值。
Oracle STANDARD_HASH()
示例
这里有几个展示了 Oracle STANDARD_HASH()
函数用法的示例。
基本用法
要计算 Hello
的哈希值,请使用下面的语句:
SELECT
STANDARD_HASH('Hello')
FROM dual;
输出:
STANDARD_HASH('HELLO')
___________________________________________
F7FF9E8B7BB2E09B70935A5D785E0CC5D9D0ABF0
MD5
要使用 MD5 算法计算 Hello
的哈希值,请使用下面的语句:
SELECT
STANDARD_HASH('Hello', 'MD5')
FROM dual;
输出:
STANDARD_HASH('HELLO','MD5')
___________________________________
8B1A9953C4611296A827ABF8C47804D7
SHA256
要使用 SHA256 算法计算 Hello
的哈希值,请使用下面的语句:
SELECT
STANDARD_HASH('Hello', 'SHA256')
FROM dual;
输出:
STANDARD_HASH('HELLO','SHA256')
___________________________________________________________________
185F8DB32271FE25F561A6FC938B2E264306EC304EDA518007D1764826381969
SHA384
要使用 SHA384 算法计算 Hello
的哈希值,请使用下面的语句:
SELECT
STANDARD_HASH('Hello', 'SHA384')
FROM dual;
输出:
STANDARD_HASH('HELLO','SHA384')
___________________________________________________________________________________________________
3519FE5AD2C596EFE3E276A6F351B8FC0B03DB861782490D45F7598EBD0AB5FD5520ED102F38C4A5EC834E98668035FC
SHA512
要使用 SHA512 算法计算 Hello
的哈希值,请使用下面的语句:
SELECT
STANDARD_HASH('Hello', 'SHA512')
FROM dual;
输出:
STANDARD_HASH('HELLO','SHA512')
___________________________________________________________________________________________________________________________________
3615F80C9D293ED7402687F94B22D58E529B8CC7916F8FAC7FDDF7FBD5AF4CF777D3D795A7A00A16BF7E7F3FB9561EE9BAAE480DA9FE7A18769E71886B03F315
NULL 参数
此函数可以接受一个 NULL
参数, STANDARD_HASH()
将返回 NULL
的哈希值。
SET NULL 'NULL';
SELECT
STANDARD_HASH(NULL)
FROM dual;
输出:
STANDARD_HASH(NULL)
___________________________________________
DA39A3EE5E6B4B0D3255BFEF95601890AFD80709
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle STANDARD_HASH()
是一个内置函数,它使用由美国国家标准与技术研究所定义和标准化的多个哈希算法之一,为给定的表达式计算哈希值。