Changes

Jump to navigation Jump to search
250 bytes removed ,  07:11, 14 February 2021
m
Corrected spelling: "algorihms" -> "algorithms"
This [[Module Library|XQuery Module]] contains cryptographic provides functions that perform different hash functionsoperations.
=Conventions=
All functions and errors in this module are assigned to the {{Code|<code><nowiki>http://basex.org/modules/hash}} </nowiki></code> namespace, which is statically bound to the {{Code|hash}} prefix.<br/>All errors are assigned to the {{Code|http://basex.org/errors}} namespace, which is statically bound to the {{Code|bxerr}} prefix.
=Functions=
==utilhash:md5=={|width='100%'
|-
| width='90120' | '''Signatures'''|{{Func|utilhash:md5|$value as xs:stringanyAtomicType|xs:hexBinarybase64Binary}}<br />
|-
| '''Summary'''
|Computes the MD5 hash of the given {{Code|$value}}, which may be of type xs:string, xs:base64Binary, or xs:hexBinary.
|-
| '''Examples'''
|
* {{Code|utilstring(xs:hexBinary(hash:md5("BaseX")))}} returns {{Code|0D65185C9E296311C0A2200179E479A2}}.* {{Code|string(hash:md5(xs:base64Binary("")))}} returns <code>1B2M2Y8AsgTpgAmY7PhCfg==</code>.
|}
==utilhash:md5-binarysha1=={|width='100%'
|-
| width='90120' | '''Signatures'''|{{Func|utilhash:md5-binarysha1|$value as xs:base64BinaryanyAtomicType|xs:hexBinarybase64Binary}}<br />
|-
| '''Summary'''
|Computes the MD5 SHA-1 hash of the given binary item ({{Code|$value}}, which may be of type xs:string, xs:base64Binary, or xs:hexBinary).
|-
| '''Examples'''
|
* {{Code|util:md5string(xs:hexBinary(hash:sha1("BaseX")))}} returns {{Code|D41D8CD98F00B204E9800998ECF8427E3AD5958F0F27D5AFFDCA2957560F121D0597A4ED}}.* {{Code|string(hash:sha1(xs:base64Binary("")))}}returns <code>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</code>.
|}
==utilhash:sha1sha256=={|width='100%'
|-
| width='90120' | '''Signatures'''|{{Func|utilhash:sha1sha256|$value as xs:stringanyAtomicType|xs:hexBinarybase64Binary}}<br />
|-
| '''Summary'''
|Computes the SHA-1 256 hash of the given {{Code|$value}}, which may be of type xs:string, xs:base64Binary, or xs:hexBinary.
|-
| '''Examples'''
|
* {{Code|utilstring(xs:hexBinary(hash:sha1sha256("BaseX")))}} returns {{Code|3AD5958F0F27D5AFFDCA2957560F121D0597A4ED15D570763DEB75D728BB69643392873B835CCCC94A2F1E881909DA47662821A3}}.* {{Code|string(hash:sha256(xs:base64Binary("")))}}returns <code>47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=</code>.
|}
==utilhash:sha1-binaryhash=={|width='100%'
|-
| width='90120' | '''Signatures'''|{{Func|utilhash:sha1-binaryhash|$value as xs:base64BinaryanyAtomicType, $algorithm as xs:string|xs:hexBinarybase64Binary}}<br />
|-
| '''Summary'''
|Computes the SHA-1 hash of the given binary item (xs:base64Binary, xs:hexBinary).|-| '''Examples'''|* {{Code|util:sha1(xs:hexBinary(""))$value}} returns , using the specified {{Code|DA39A3EE5E6B4B0D3255BFEF95601890AFD80709$algorithm}}.|} ==util:hash=={||-| width='90' | '''Signatures'''|{{Func|util:hash|$value as The specified values may be of type xs:string, $algorithm as xs:string|base64Binary, or xs:hexBinary}}<br />|-| '''Summary'''|Computes the hash of the given string, using the specified {{Code|$algorithm}}.<br />The following three algorithms are supported: {{Code|MD2}}, {{Code|MD5}}, {{Code|SHA-1}},and {{Code|SHA-256}},{{Code|SHA-384}}, and {{Code|SHA-512}}.
|-
| '''Errors'''
|{{Error|HASH0001algorithm|#Errors}} the specified hashing algorithm is unknown.
|-
| '''Examples'''
|
* {{Code|utilstring(xs:hexBinary(hash:hash("", "MD5")))}} returns {{Code|D41D8CD98F00B204E9800998ECF8427E}}.* {{Code|utilstring(hash:hash("", ""))}} raises an error.|} ==util:hash-binary=={||-| width='90' | '''Signatures'''|{{Func|util:hash-binary|$value as basex:binary, $because no algorithm as xs:string|xs:hexBinary}}<br />|-| '''Summary'''|Computes the hash of the given binary item (xs:base64Binary, xs:hexBinary), using the specified {{Code|$algorithm}}.<br />The following algorithms are supported: {{Code|MD2}}, {{Code|MD5}}, {{Code|SHA-1}},{{Code|SHA-256}},{{Code|SHA-384}}, and {{Code|SHA-512}}.|-| '''Errors'''|{{Error|HASH0001|#Errors}} the was specified hashing algorithm is unknown.|-| '''Examples'''|* {{Code|util:hash-binary(xs:base64Binary(""), "MD5")}} returns {{Code|D41D8CD98F00B204E9800998ECF8427E}}.
|}
{| class="wikitable" width="100%"
! width="5%110"|Code! width="95%"|Description
|-
|{{Code|HASH0001algorithm}}|The specified hashing hash algorithm is unknown.
|}
=Changelog=
This module was introduced with ;Version 7.39.0 * Updated: error codes updated; errors now use the module namespace
[[Category:XQuery]]The module was introduced with Version 7.3.
administrator, editor
2

edits

Navigation menu