Difference between revisions of "Hashing Module"

From BaseX Documentation
Jump to navigation Jump to search
Line 8: Line 8:
 
=Functions=
 
=Functions=
  
==util:md5==
+
==hash:md5==
 
{|
 
{|
 
|-
 
|-
 
| width='90' | '''Signatures'''
 
| width='90' | '''Signatures'''
|{{Func|util:md5|$value as xs:anyAtomicType|xs:base64Binary}}<br />
+
|{{Func|hash:md5|$value as xs:anyAtomicType|xs:base64Binary}}<br />
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
Line 22: Line 22:
 
| '''Examples'''
 
| '''Examples'''
 
|
 
|
* {{Code|util:md5("BaseX")}} returns {{Code|0D65185C9E296311C0A2200179E479A2}}.
+
* {{Code|xs:hexBinary(hash:md5("BaseX"))}} returns {{Code|0D65185C9E296311C0A2200179E479A2}}.
* {{Code|util:md5(xs:hexBinary(""))}} returns {{Code|D41D8CD98F00B204E9800998ECF8427E}}.
+
* {{Code|hash:md5(xs:base64Binary(""))}} returns {{Code|1B2M2Y8AsgTpgAmY7PhCfg==}}.
 
|}
 
|}
  
==util:sha1==
+
==hash:sha1==
 
{|
 
{|
 
|-
 
|-
 
| width='90' | '''Signatures'''
 
| width='90' | '''Signatures'''
|{{Func|util:sha1|$value as xs:anyAtomicType|xs:base64Binary}}<br />
+
|{{Func|hash:sha1|$value as xs:anyAtomicType|xs:base64Binary}}<br />
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
Line 40: Line 40:
 
| '''Examples'''
 
| '''Examples'''
 
|
 
|
* {{Code|util:sha1("BaseX")}} returns {{Code|3AD5958F0F27D5AFFDCA2957560F121D0597A4ED}}.
+
* {{Code|xs:hexBinary(hash:sha1("BaseX"))}} returns {{Code|3AD5958F0F27D5AFFDCA2957560F121D0597A4ED}}.
* {{Code|util:sha1(xs:hexBinary(""))}} returns {{Code|DA39A3EE5E6B4B0D3255BFEF95601890AFD80709}}.
+
* {{Code|hash:sha1(xs:base64Binary(""))}} returns {{Code|2jmj7l5rSw0yVb/vlWAYkK/YBwk=}}.
 
|}
 
|}
  
==util:sha256==
+
==hash:sha256==
 
{|
 
{|
 
|-
 
|-
 
| width='90' | '''Signatures'''
 
| width='90' | '''Signatures'''
|{{Func|util:sha256|$value as xs:anyAtomicType|xs:base64Binary}}<br />
+
|{{Func|hash:sha256|$value as xs:anyAtomicType|xs:base64Binary}}<br />
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
Line 58: Line 58:
 
| '''Examples'''
 
| '''Examples'''
 
|
 
|
* {{Code|util:sha256("BaseX")}} returns {{Code|15D570763DEB75D728BB69643392873B835CCCC94A2F1E881909DA47662821A3}}.
+
* {{Code|xs:hexBinary(hash:sha256("BaseX"))}} returns {{Code|15D570763DEB75D728BB69643392873B835CCCC94A2F1E881909DA47662821A3}}.
* {{Code|util:sha256(xs:hexBinary(""))}} returns {{Code|E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855}}.
+
* {{Code|hash:sha256(xs:base64Binary(""))}} returns {{Code|47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=}}.
 
|}
 
|}
  
==util:hash==
+
==hash:hash==
 
{|
 
{|
 
|-
 
|-
 
| width='90' | '''Signatures'''
 
| width='90' | '''Signatures'''
|{{Func|util:hash|$value as xs:anyAtomicType, $algorithm as xs:string|xs:base64Binary}}<br />
+
|{{Func|hash:hash|$value as xs:anyAtomicType, $algorithm as xs:string|xs:base64Binary}}<br />
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
Line 76: Line 76:
 
| '''Examples'''
 
| '''Examples'''
 
|
 
|
* {{Code|util:md5("", "MD5")}} returns {{Code|D41D8CD98F00B204E9800998ECF8427E}}.
+
* {{Code|xs:hexBinary(hash:md5("", "MD5"))}} returns {{Code|D41D8CD98F00B204E9800998ECF8427E}}.
* {{Code|util:md5("", "")}} raises an error.
+
* {{Code|hash:md5("", "")}} raises an error.
 
|}
 
|}
  

Revision as of 04:28, 17 June 2012

This XQuery Module contains cryptographic hash functions.

Conventions

All functions in this module are assigned to the http://basex.org/modules/hash namespace, which is statically bound to the hash prefix.
All errors are assigned to the http://basex.org/errors namespace, which is statically bound to the bxerr prefix.

Functions

hash:md5

Signatures hash:md5($value as xs:anyAtomicType) as xs:base64Binary
Summary Computes the MD5 hash of the given $value, which may be a string or a binary item (xs:base64Binary, xs:hexBinary).
Errors FORG0006: the specified value is neither a string nor a binary item.
Examples
  • xs:hexBinary(hash:md5("BaseX")) returns 0D65185C9E296311C0A2200179E479A2.
  • hash:md5(xs:base64Binary("")) returns {{{1}}}.

hash:sha1

Signatures hash:sha1($value as xs:anyAtomicType) as xs:base64Binary
Summary Computes the SHA-1 hash of the given $value, which may be a string or a binary item (xs:base64Binary, xs:hexBinary).
Errors FORG0006: the specified value is neither a string nor a binary item.
Examples
  • xs:hexBinary(hash:sha1("BaseX")) returns 3AD5958F0F27D5AFFDCA2957560F121D0597A4ED.
  • hash:sha1(xs:base64Binary("")) returns {{{1}}}.

hash:sha256

Signatures hash:sha256($value as xs:anyAtomicType) as xs:base64Binary
Summary Computes the SHA-256 hash of the given $value, which may be a string or a binary item (xs:base64Binary, xs:hexBinary).
Errors FORG0006: the specified value is neither a string nor a binary item.
Examples
  • xs:hexBinary(hash:sha256("BaseX")) returns 15D570763DEB75D728BB69643392873B835CCCC94A2F1E881909DA47662821A3.
  • hash:sha256(xs:base64Binary("")) returns {{{1}}}.

hash:hash

Signatures 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 a string or a binary item (xs:base64Binary, xs:hexBinary)
The following three algorihms are supported: MD5, SHA-1, and SHA-256.
Errors HASH0001: the specified hashing algorithm is unknown.
FORG0006: the specified value is neither a string nor a binary item.
Examples
  • xs:hexBinary(hash:md5("", "MD5")) returns D41D8CD98F00B204E9800998ECF8427E.
  • hash:md5("", "") raises an error.

Errors

Code Description
HASH0001 The specified hashing algorithm is unknown.

Changelog

This module was introduced with Version 7.3.