Difference between revisions of "Hashing Module"

From BaseX Documentation
Jump to navigation Jump to search
(Created page with "This XQuery Module contains cryptographic hash functions. =Conventions= All functions in this module are assigned to the {{Code|http://basex.org/modules/hash...")
 
Line 60: Line 60:
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
|Computes the hash of the given string {{Code|$value}}, using the specified {{Code|$algorithm}}.<br />The following three algorihms are supported: {{@Code|MD5}}, {{@Code|SHA-1}}, and {{@Code|SHA-256}}.
+
|Computes the hash of the given string {{Code|$value}}, using the specified {{Code|$algorithm}}.<br />The following three algorihms are supported: {{Code|MD5}}, {{Code|SHA-1}}, and {{Code|SHA-256}}.
 
|-
 
|-
 
| '''Errors'''
 
| '''Errors'''
Line 66: Line 66:
 
|-
 
|-
 
| '''Examples'''
 
| '''Examples'''
|{{Code|util:md5("", "MD5")}} returns {{Code|'D41D8CD98F00B204E9800998ECF8427E'}}.
+
|
{{Code|util:md5("", "")}} raises an error.
+
* {{Code|util:md5("", "MD5")}} returns {{Code|'D41D8CD98F00B204E9800998ECF8427E'}}.
 +
* {{Code|util:md5("", "")}} raises an error.
 +
|}
 +
 
 +
==util:hash-binary==
 +
{|
 +
|-
 +
| width='90' | '''Signatures'''
 +
|{{Func|util:hash-binary|$value as xs:string, $algorithm as basex:binary|xs:hexBinary}}<br />
 +
|-
 +
| '''Summary'''
 +
|Computes the hash of the given binary item ({{Code|xs:base64Binary}}, {{Code|xs:hexBinary}}), using the specified {{Code|$algorithm}}.<br />The following three algorihms are supported: {{Code|MD5}}, {{Code|SHA-1}}, and {{Code|SHA-256}}.
 +
|-
 +
| '''Errors'''
 +
|{{Error|HASH0001|#Errors}} the specified hashing algorithm is unknown.
 +
|-
 +
| '''Examples'''
 +
|{{Code|util:md5(xs:hexBinary(''), 'MD5')}} returns {{Code|'D41D8CD98F00B204E9800998ECF8427E'}}.
 
|}
 
|}
  

Revision as of 19:27, 12 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

util:md5

Signatures util:md5($value as xs:string) as xs:hexBinary
Summary Computes the MD5 hash of the given string $value.
Examples
  • util:md5("") returns 'D41D8CD98F00B204E9800998ECF8427E'.
  • util:md5('BaseX') returns '0D65185C9E296311C0A2200179E479A2'.

util:sha1

Signatures util:sha1($value as xs:string) as xs:hexBinary
Summary Computes the SHA-1 hash of the given string $value.
Examples
  • util:sha1("") returns 'DA39A3EE5E6B4B0D3255BFEF95601890AFD80709'.
  • util:sha1("BaseX") returns '3AD5958F0F27D5AFFDCA2957560F121D0597A4ED'.

util:sha256

Signatures util:sha256($value as xs:string) as xs:hexBinary
Summary Computes the SHA-256 hash of the given string $value.
Examples
  • util:sha256("") returns 'E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855'.
  • util:sha256("BaseX") returns '15D570763DEB75D728BB69643392873B835CCCC94A2F1E881909DA47662821A3'.

util:hash

Signatures util:hash($value as xs:string, $algorithm as xs:string) as xs:hexBinary
Summary Computes the hash of the given string $value, using the specified $algorithm.
The following three algorihms are supported: MD5, SHA-1, and SHA-256.
Errors HASH0001: the specified hashing algorithm is unknown.
Examples
  • util:md5("", "MD5") returns 'D41D8CD98F00B204E9800998ECF8427E'.
  • util:md5("", "") raises an error.

util:hash-binary

Signatures util:hash-binary($value as xs:string, $algorithm as basex:binary) as xs:hexBinary
Summary Computes the hash of the given binary item (xs:base64Binary, xs:hexBinary), using the specified $algorithm.
The following three algorihms are supported: MD5, SHA-1, and SHA-256.
Errors HASH0001: the specified hashing algorithm is unknown.
Examples util:md5(xs:hexBinary(), 'MD5') returns 'D41D8CD98F00B204E9800998ECF8427E'.

Errors

Code Description
HASH0001 The specified hashing algorithm is unknown.

Changelog

This module was introduced with Version 7.3.