Difference between revisions of "Hashing Module"

From BaseX Documentation
Jump to navigation Jump to search
m (Text replace - "assigned to the \{\{Code\|([^}]*)\}\} namespace" to "assigned to the <code><nowiki>$1</nowiki></code> namespace")
Line 16: Line 16:
 
| '''Summary'''
 
| '''Summary'''
 
|Computes the MD5 hash of the given {{Code|$value}}, which may be of type xs:string, xs:base64Binary, or xs:hexBinary.
 
|Computes the MD5 hash of the given {{Code|$value}}, which may be of type xs:string, xs:base64Binary, or xs:hexBinary.
|-
 
| '''Errors'''
 
|{{Error|FORG0006|XQuery Errors#Function Errors}} the specified value is neither a string nor a binary item.
 
 
|-
 
|-
 
| '''Examples'''
 
| '''Examples'''
Line 34: Line 31:
 
| '''Summary'''
 
| '''Summary'''
 
|Computes the SHA-1 hash of the given {{Code|$value}}, which may be of type xs:string, xs:base64Binary, or xs:hexBinary.
 
|Computes the SHA-1 hash of the given {{Code|$value}}, which may be of type xs:string, xs:base64Binary, or xs:hexBinary.
|-
 
| '''Errors'''
 
|{{Error|FORG0006|XQuery Errors#Function Errors}} the specified value is neither a string nor a binary item.
 
 
|-
 
|-
 
| '''Examples'''
 
| '''Examples'''
Line 52: Line 46:
 
| '''Summary'''
 
| '''Summary'''
 
|Computes the SHA-256 hash of the given {{Code|$value}}, which may be of type xs:string, xs:base64Binary, or xs:hexBinary.
 
|Computes the SHA-256 hash of the given {{Code|$value}}, which may be of type xs:string, xs:base64Binary, or xs:hexBinary.
|-
 
| '''Errors'''
 
|{{Error|FORG0006|XQuery Errors#Function Errors}} the specified value is neither a string nor a binary item.
 
 
|-
 
|-
 
| '''Examples'''
 
| '''Examples'''
Line 72: Line 63:
 
|-
 
|-
 
| '''Errors'''
 
| '''Errors'''
|{{Error|HASH0001|#Errors}} the specified hashing algorithm is unknown.<br/>{{Error|FORG0006|XQuery Errors#Function Errors}} the specified value is neither a string nor a binary item.
+
|{{Error|HASH0001|#Errors}} the specified hashing algorithm is unknown.
 
|-
 
|-
 
| '''Examples'''
 
| '''Examples'''

Revision as of 16:22, 30 October 2015

This XQuery Module provides functions that perform different hash operations.

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 of type xs:string, xs:base64Binary, or xs:hexBinary.
Examples
  • xs:hexBinary(hash:md5("BaseX")) returns 0D65185C9E296311C0A2200179E479A2.
  • hash:md5(xs:base64Binary("")) returns 1B2M2Y8AsgTpgAmY7PhCfg==.

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 of type xs:string, xs:base64Binary, or xs:hexBinary.
Examples
  • xs:hexBinary(hash:sha1("BaseX")) returns 3AD5958F0F27D5AFFDCA2957560F121D0597A4ED.
  • hash:sha1(xs:base64Binary("")) returns 2jmj7l5rSw0yVb/vlWAYkK/YBwk=.

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 of type xs:string, xs:base64Binary, or xs:hexBinary.
Examples
  • xs:hexBinary(hash:sha256("BaseX")) returns 15D570763DEB75D728BB69643392873B835CCCC94A2F1E881909DA47662821A3.
  • hash:sha256(xs:base64Binary("")) returns 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=.

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

Errors

Code Description
HASH0001 The specified hash algorithm is unknown.

Changelog

The module was introduced with Version 7.3.