nano-md5

1.0.5 • Public • Published

Gitter NPM version Build status Test coverage Dependency Status License Downloads

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.'

Readme

Keywords

Package Sidebar

Install

npm i nano-md5

Weekly Downloads

3,007

Version

1.0.5

License

MIT

Unpacked Size

14.5 kB

Total Files

5

Last publish

Collaborators

  • holixus