nano-md5
v1.0.5
Published
md5/md5crypt functions. UTF8 compatible. Small. Fast. 100% tests coverage. No dependencies.
Downloads
15,757
Readme
nano-md5
md5/md5crypt functions. UTF8 compatible. Small. Fast. 100% tests coverage. No dependencies.
Example
> var md5 = require('nano-md5');
> md5('hello');
'5d41402abc4b2a76b9719d911017c592'
> md5.fromBytes('hello').toHex()
'5d41402abc4b2a76b9719d911017c592'
> md5.fromUtf8('hello').toHex()
'5d41402abc4b2a76b9719d911017c592'
API
md5(utf8_string)
- utf8_string
String
Returns hexadecimal value of utf8_string MD5 hash. The function is a shortcut for md5.fromUtf8(utf8_string).toHex()
call.
> var md5 = require('nano-md5');
> md5('hello');
'5d41402abc4b2a76b9719d911017c592'
md5.fromBytes(bytes_string)
- bytes_string
String
-- supports only 8-bits characters
Returns binary String object of MD5 hash containings of toHex()
method for converting binary value to hexadecimal string value.
> var md5 = require('nano-md5');
> md5.fromBytes('hello');
{ [String: ']A@*¼K*v¹q��\u0010\u0017Å�'] toHex: [Function] }
> md5.fromBytes('hello').toHex()
'5d41402abc4b2a76b9719d911017c592'
md5.fromUtf8(utf8_string)
- utf8_string
String
Returns binary String object of MD5 hash containings of toHex()
method for converting binary value to hexadecimal string value.
> var md5 = require('nano-md5');
> md5.fromBytes('русский');
{ [String: '4�·�® \u0000>\u001eU\u001bÏM¡a'] toHex: [Function] }
> md5.fromBytes('русский').toHex()
'3495b78aaea0003e1e551bcf4da18861'
md5.crypt(password, setting)
- password
String
- setting
String
- salt or '$1$'+salt; can be closed with '$' symbol
The function is analogue of md5crypt
unix libc function. Very useful for passwords crypting and checking.
The setting
argument isn`t necessary. If it skipped a salt value will generated automatically.
> var md5 = require('nano-md5');
> md5.crypt('hello')
'$1$DgPzWoiS$bMN29fSiiniXY6s.4ShyE1'
> md5.crypt('hello')
'$1$nFQVmGdu$m0QpoNNUJ6Ij8ZWh0wavS0'
> md5.crypt('hello')
'$1$FmEgm6OI$rvKvF85/aj2n8/64VEytt/'
> md5.crypt('hello', '01234567')
'$1$01234567$8imesxsCtZWLDOPevHEvu.'
> md5.crypt('hello', '01234567')
'$1$01234567$8imesxsCtZWLDOPevHEvu.'
> md5.crypt('hello', '$1$01234567')
'$1$01234567$8imesxsCtZWLDOPevHEvu.'
> md5.crypt('hello', md5.crypt('hello', '$1$01234567')) // crypted password can be used as salt source
'$1$01234567$8imesxsCtZWLDOPevHEvu.'