0.7.0 • Published 5 months ago

js-sha1 v0.7.0

Weekly downloads
38,387
License
MIT
Repository
github
Last release
5 months ago

js-sha1

Build Status Coverage Status
NPM
A simple SHA1 hash function for JavaScript supports UTF-8 encoding.

Demo

SHA1 Online SHA1 File Checksum Online

Download

Compress
Uncompress

Installation

You can also install js-sha1 by using Bower.

bower install js-sha1

For node.js, you can use this command to install:

npm install js-sha1

Notice

NIST formally deprecated use of SHA-1 in 2011 and disallowed its use for digital signatures in 2013, and declared that it should be phased out by 2030. However, SHA-1 is still secure for HMAC. wiki

Usage

You could use like this:

sha1('Message to hash');
var hash = sha1.create();
hash.update('Message to hash');
hash.hex();

// HMAC
sha1.hmac('key', 'Message to hash');

var hash = sha1.hmac.create('key');
hash.update('Message to hash');
hash.hex();

Node.js

If you use node.js, you should require the module first:

var sha1 = require('js-sha1');

TypeScript

If you use TypeScript, you can import like this:

import { sha1 } from 'js-sha1';

RequireJS

It supports AMD:

require(['your/path/sha1.js'], function(sha1) {
// ...
});

Example

sha1(''); // da39a3ee5e6b4b0d3255bfef95601890afd80709
sha1('The quick brown fox jumps over the lazy dog'); // 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
sha1('The quick brown fox jumps over the lazy dog.'); // 408d94384216f890ff7a0c3528e8bed1e0b01621

// It also supports UTF-8 encoding
sha1('中文'); // 7be2d2d20c106eee0836c9bc2b939890a78e8fb3

// It also supports byte `Array`, `Uint8Array`, `ArrayBuffer`
sha1([]); // da39a3ee5e6b4b0d3255bfef95601890afd80709
sha1(new Uint8Array([])); // da39a3ee5e6b4b0d3255bfef95601890afd80709

// Different output
sha1(''); // da39a3ee5e6b4b0d3255bfef95601890afd80709
sha1.hex(''); // da39a3ee5e6b4b0d3255bfef95601890afd80709
sha1.array(''); // [218, 57, 163, 238, 94, 107, 75, 13, 50, 85, 191, 239, 149, 96, 24, 144, 175, 216, 7, 9]
sha1.digest(''); // [218, 57, 163, 238, 94, 107, 75, 13, 50, 85, 191, 239, 149, 96, 24, 144, 175, 216, 7, 9]
sha1.arrayBuffer(''); // ArrayBuffer

// HMAC
sha1.hmac.hex('key', 'Message to hash');
sha1.hmac.array('key', 'Message to hash');
// ...

License

The project is released under the MIT license.

Contact

The project's website is located at https://github.com/emn178/js-sha1
Author: Chen, Yi-Cyuan (emn178@gmail.com)

@runwork/runwork-help@tinacms/graphqlfullstack-apollo-express-boilerplate-projectpc_equestrianreact-native-sketchappsmart-web-product-threesmart-web-testng-testang-provvblogazured-uiwssuiazuredui@shubhamy/blendedazured-plusrunwork-helpreact-buttons-gyq@everything-registry/sub-chunk-1977jwplatformjsvcnkc-wpc-ofdkosmos-dubhe-common-utilsliteofd.jslzl-vue-table-viewhanzi-vue-packagehanzi-mobile-packagehibpvalidatorhy-gbprofile-ahhy-gbprofile-xfhy-gbprofile2hy-gbprofile3hy-gbprofile5hy-gbprofile6hy-gbprofile7hy-gbprofile8homebridge-airproceifunnyifunnywrapperiwatf.jsjhm_wxjksreaderiota-proof-toolion-ofdmaishu-wx-qrcodemazey-wechat-launch-appmatomo-uniappmdwavemo-arraybuffer-toolsminimongominimongo-syncminigame-coresdkmolestiaeiuston22-libmy-vod-js-sdk-v6mtg-deck-checkermy-img-editormy-ofd.jsneteasy-sms@seandawson/hypermerge@sendyit/auth@umn-latis/elevator-js-api@peymanghazvini/filerobot-image-beta@position/ys-vue2-commponents@studyportals/wishlist-service-core@routeinc/file-editor@understand/understand-js@opencui/copilot-react@singee/trigger-dev-sdk@rebelcode/bookings-js@vitaliipetrunenko/filerobot-image-editorwecom-js-sdkvue-pro-hylyc-fam-jssha256-coinflipproduct3-smart-webpicgo-plugin-custom-uploaderpassprotectpassw0rdqforcepw-componentsteamcowboyteko-market-v1thermodbofd2.jsofd-pageviewofd-pageview-nofd-toolsofd-view-ycqzd-utilsqnbotqn-go-plus-jsreact-native-awesome-chatreact-native-dev-kitreact-im-viewreact-native-smart-managersreact-sketchapp-privatereact-sketchappreact-sketchapp-customtransmute-adapter-node-storagetransmute-alpha
0.7.0

5 months ago

0.6.0

6 years ago

0.5.0

7 years ago

0.4.1

7 years ago

0.4.0

8 years ago

0.3.0

9 years ago

0.2.0

9 years ago

0.1.3

9 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago