This XQuery Module provides functions that perform different hash operations.
Conventions[edit]
All functions and errors in this module are assigned to the http://basex.org/modules/hash
namespace, which is statically bound to the hash
prefix.
Functions[edit]
hash:md5[edit]
Signature
|
hash:md5(
$value as xs:anyAtomicType
) as xs:base64Binary
|
Summary
|
Computes the MD5 hash of the given $value , which may be of type xs:string , xs:base64Binary , or xs:hexBinary .
|
Examples
|
string(xs:hexBinary(hash:md5("BaseX"))) returns 0D65185C9E296311C0A2200179E479A2 .
string(hash:md5(xs:base64Binary(""))) returns 1B2M2Y8AsgTpgAmY7PhCfg== .
|
hash:sha1[edit]
Signature
|
hash:sha1(
$value as xs:anyAtomicType
) as xs:base64Binary
|
Summary
|
Computes the SHA-1 hash of the given $value , which may be of type xs:string , xs:base64Binary , or xs:hexBinary .
|
Examples
|
string(xs:hexBinary(hash:sha1("BaseX"))) returns 3AD5958F0F27D5AFFDCA2957560F121D0597A4ED .
string(hash:sha1(xs:base64Binary(""))) returns 2jmj7l5rSw0yVb/vlWAYkK/YBwk= .
|
hash:sha256[edit]
Signature
|
hash:sha256(
$value as xs:anyAtomicType
) as xs:base64Binary
|
Summary
|
Computes the SHA-256 hash of the given $value , which may be of type xs:string , xs:base64Binary , or xs:hexBinary .
|
Examples
|
string(xs:hexBinary(hash:sha256("BaseX"))) returns 15D570763DEB75D728BB69643392873B835CCCC94A2F1E881909DA47662821A3 .
string(hash:sha256(xs:base64Binary(""))) returns 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= .
|
hash:hash[edit]
Signature
|
hash:hash(
$value as xs:anyAtomicType,
$algorithm as xs:string
) as xs:base64Binary
|
Summary
|
Computes the hash of the given $value , using the specified $algorithm . The specified values may be of type xs:string , xs:base64Binary , or xs:hexBinary . The following three algorithms are supported: MD5 , SHA-1 , and SHA-256 .
|
Errors
|
algorithm : the specified hashing algorithm is unknown.
|
Examples
|
string(xs:hexBinary(hash:hash("", "MD5"))) returns D41D8CD98F00B204E9800998ECF8427E .
string(hash:hash("", "")) raises an error, because no algorithm was specified.
|
Code
|
Description
|
algorithm
|
The specified hash algorithm is unknown.
|
Changelog[edit]
- Version 9.0
- Updated: error codes updated; errors now use the module namespace
The module was introduced with Version 7.3.