Class KJUR.crypto.MessageDigest
MessageDigest class which is very similar to java.security.MessageDigest class
Defined in: crypto-1.1.js.
Constructor Attributes | Constructor Name and Description |
---|---|
KJUR.crypto.MessageDigest(params)
MessageDigest class which is very similar to java.security.MessageDigest class
Currently this supports following algorithm and providers combination:
|
Field Attributes | Field Name and Description |
---|---|
static Array of resulted byte length of hash (ex.
|
Method Attributes | Method Name and Description |
---|---|
digest()
completes hash calculation and returns hash result
|
|
digestHex(hex)
performs final update on the digest using hexadecimal string, then completes the digest computation
|
|
digestString(str)
performs final update on the digest using string, then completes the digest computation
|
|
<static> |
KJUR.crypto.MessageDigest.getCanonicalAlgName(alg)
get canonical hash algorithm name
This static method normalizes from any hash algorithm name such as "SHA-1", "SHA1", "MD5", "sha512" to lower case name without hyphens such as "sha1". |
<static> |
KJUR.crypto.MessageDigest.getHashLength(alg)
get resulted hash byte length for specified algorithm name
This static method returns resulted byte length for specified algorithm name such as "SHA-1". |
setAlgAndProvider(alg, prov)
set hash algorithm and provider
This methods set an algorithm and a cryptographic provider. |
|
updateHex(hex)
update digest by specified hexadecimal string
|
|
updateString(str)
update digest by specified string
|
Class Detail
KJUR.crypto.MessageDigest(params)
MessageDigest class which is very similar to java.security.MessageDigest class
Currently this supports following algorithm and providers combination:
Currently this supports following algorithm and providers combination:
- md5 - cryptojs
- sha1 - cryptojs
- sha224 - cryptojs
- sha256 - cryptojs
- sha384 - cryptojs
- sha512 - cryptojs
- ripemd160 - cryptojs
- sha256 - sjcl (NEW from crypto.js 1.0.4)
// CryptoJS provider sample var md = new KJUR.crypto.MessageDigest({alg: "sha1", prov: "cryptojs"}); md.updateString('aaa') var mdHex = md.digest() // SJCL(Stanford JavaScript Crypto Library) provider sample var md = new KJUR.crypto.MessageDigest({alg: "sha256", prov: "sjcl"}); // sjcl supports sha256 only md.updateString('aaa') var mdHex = md.digest() // HASHLENGTH property KJUR.crypto.MessageDigest.HASHLENGTH['sha1'] &rarr 20 KJUR.crypto.MessageDigest.HASHLENGTH['sha512'] &rarr 64
- Parameters:
- {Array} params
- parameters for constructor
Field Detail
{Array}
HASHLENGTH
static Array of resulted byte length of hash (ex. HASHLENGTH["sha1"] == 20)
Method Detail
digest()
completes hash calculation and returns hash result
md.digest()
digestHex(hex)
performs final update on the digest using hexadecimal string, then completes the digest computation
md.digestHex('0f2abd')
- Parameters:
- {String} hex
- hexadecimal string to final update
digestString(str)
performs final update on the digest using string, then completes the digest computation
md.digestString('aaa')
- Parameters:
- {String} str
- string to final update
<static>
{String}
KJUR.crypto.MessageDigest.getCanonicalAlgName(alg)
get canonical hash algorithm name
This static method normalizes from any hash algorithm name such as "SHA-1", "SHA1", "MD5", "sha512" to lower case name without hyphens such as "sha1".
This static method normalizes from any hash algorithm name such as "SHA-1", "SHA1", "MD5", "sha512" to lower case name without hyphens such as "sha1".
KJUR.crypto.MessageDigest.getCanonicalAlgName("SHA-1") &rarr "sha1" KJUR.crypto.MessageDigest.getCanonicalAlgName("MD5") &rarr "md5"
- Parameters:
- {String} alg
- hash algorithm name (ex. MD5, SHA-1, SHA1, SHA512 et.al.)
- Since:
- jsrsasign 6.2.0 crypto 1.1.10
- Returns:
- {String} canonical hash algorithm name
<static>
{Integer}
KJUR.crypto.MessageDigest.getHashLength(alg)
get resulted hash byte length for specified algorithm name
This static method returns resulted byte length for specified algorithm name such as "SHA-1".
This static method returns resulted byte length for specified algorithm name such as "SHA-1".
KJUR.crypto.MessageDigest.getHashLength("SHA-1") &rarr 20 KJUR.crypto.MessageDigest.getHashLength("sha1") &rarr 20
- Parameters:
- {String} alg
- non-canonicalized hash algorithm name (ex. MD5, SHA-1, SHA1, SHA512 et.al.)
- Since:
- jsrsasign 6.2.0 crypto 1.1.10
- Returns:
- {Integer} resulted hash byte length
setAlgAndProvider(alg, prov)
set hash algorithm and provider
This methods set an algorithm and a cryptographic provider.
Here is acceptable algorithm names ignoring cases and hyphens:
This methods set an algorithm and a cryptographic provider.
Here is acceptable algorithm names ignoring cases and hyphens:
- MD5
- SHA1
- SHA224
- SHA256
- SHA384
- SHA512
- RIPEMD160
// for SHA1 md.setAlgAndProvider('sha1', 'cryptojs'); md.setAlgAndProvider('SHA1'); // for RIPEMD160 md.setAlgAndProvider('ripemd160', 'cryptojs');
- Parameters:
- {String} alg
- hash algorithm name
- {String} prov
- provider name
updateHex(hex)
update digest by specified hexadecimal string
md.updateHex('0afe36');
- Parameters:
- {String} hex
- hexadecimal string to update
updateString(str)
update digest by specified string
md.updateString('New York');
- Parameters:
- {String} str
- string to update