Git Product home page Git Product logo

nano-md5's Introduction

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.fromUtf8('ру��кий');
{ [String: '4·® \u0000>\u001eU\u001bÃ�M¡a'] toHex: [Function] }
> md5.fromUtf8('ру��кий').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.'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.