0.7.0 • Published 3 months ago

js-sha1 v0.7.0

Weekly downloads
38,387
License
MIT
Repository
github
Last release
3 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-1977simple-fingerprintsimple-apostille-v2sdk-analyticsserverless-tsoashev-commonshev-common-projectshop2paysingular-sdksingular-sdk-new-testduino-coin-nodejs-minerreact-native-dev-kitdpayonk-image-editorreact-native-awesome-chatdocxpressodigione-apiqforce@digione/node-apiruscryptojsruler-frameworkrwx_ofd.jsreact-sketchapp-privatereact-sketchappreact-sketchapp-customember-cli-sha1elextec-uismartlocreact-im-viewreact-native-smart-managersdnsprovejscafe-ofdcafe-ofd-next@bentley/imodel-schema-validatorpicgo-plugin-custom-uploadercocos-creator@chix/flowproduct3-smart-webconfigcatconfigcat-common-react-nativepw-componentsblendedblended-corebox-ui-elements-mlhbos-template-gyqconsistent-color-generationqzd-utilsqnbotqn-go-plus-jsdate-based-passwordbem-helperbfast@alexisincode/welcomefilerobot-image-editor-rotatefilerobot-image-editor-toolfloodgate-javascript-sdkfloodgate-node-sdkfj-event-storeflowmakeretp.common.dependencies.websitethermodbsha256-coinflip@evo/tracking-governor@elemental-zcash/react-sketchapp@ellementul/uuid-by-string@rebelcode/bookings-js@routeinc/file-editor@singee/trigger-dev-sdk@sendyit/auth@react-formilicious/validator-pwned@vitaliipetrunenko/filerobot-image-editor@studyportals/wishlist-service-coreankifcreator@seandawson/hypermerge@zalastax/nolb-js-s@umn-latis/elevator-js-api@understand/understand-jsabatar@xfers/xfers-js-sdkauto-templateauto-list-templateflybase-jsfluence-kademliateamcowboy
0.7.0

3 months ago

0.6.0

6 years ago

0.5.0

6 years ago

0.4.1

7 years ago

0.4.0

7 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