hash get checksum of file or string using various digest algorithms

## Syntax

    res = hash(fd, algorithm)
                res = hash(string, algorithm)

## Arguments

res

  hash result (a string)

fd

  a matrix of file descriptors returned by the function mopen.

string

  a string or a matrix of strings

algorithm

  a string (the hashing algorithm)

## Description

`hash` get the checksum of a file or a string using the hashing function

algorithm
. The available functions are:

'crc32' | crc32 chechsum
'md5' | Message-Digest Algorithm 5
'sha1' | Secure Hash Algorithm 1 (160 bits)
'sha2', 'sha256' | Secure Hash Algorithm 2 (256 bits)
'sha3-224' | Secure Hash Algorithm 3 (224 bits)
'sha3-256' | Secure Hash Algorithm 3 (256 bits)
'sha3-384' | Secure Hash Algorithm 3 (384 bits)
'sha3-512' | Secure Hash Algorithm 3 (512 bits)

## Examples

    hash('hello world', 'md5')
    hash('hello world', 'sha256')
    hash(['hello';'world'], 'sha3-256')

    fp = mopen(SCI+'/modules/core/etc/core.start')
    hash(fp ,'sha256')
    mclose(fp)

## History

6.1.1 hash() introduced.