Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Cryptography
  3. JShashes

JShashes

BSD-3-ClauseJavaScriptv1.0.8

A fast, dependency-free cryptographic hashing library for Node.js and browsers supporting MD5, SHA1, SHA256, SHA512, RIPEMD, and HMAC.

GitHubGitHub
725 stars135 forks0 contributors

What is JShashes?

jsHashes is a pure JavaScript library that provides fast, dependency-free implementations of common cryptographic hash functions like MD5, SHA1, SHA256, SHA512, RIPEMD-160, and HMAC. It solves the need for consistent hashing across both Node.js and browser environments without relying on native modules or external dependencies.

Target Audience

JavaScript developers who need reliable hashing in cross-platform applications, especially those working in environments where native crypto modules are unavailable or inconsistent.

Value Proposition

Developers choose jsHashes for its zero dependencies, ES5 compliance, and identical behavior across all JavaScript runtimes, ensuring portable and predictable hash generation without sacrificing performance.

Overview

Fast and dependency-free cryptographic hashing library for node.js and browsers (supports MD5, SHA1, SHA256, SHA512, RIPEMD, HMAC)

Use Cases

Best For

  • Adding client-side password hashing before transmission
  • Generating checksums for data validation in browser applications
  • Implementing HMAC-based message authentication in Node.js APIs
  • Creating consistent hash digests across server and client codebases
  • Educational projects exploring cryptographic hash functions in JavaScript
  • Lightweight alternatives to Node.js crypto module for basic hashing needs

Not Ideal For

  • Applications requiring direct file hashing or binary data processing
  • Projects that need state-of-the-art cryptographic algorithms like SHA-3 or Blake2
  • Server-side systems where maximum performance is critical and native crypto modules are available
  • Teams relying on modern ES6+ modules or TypeScript without transpilation needs

Pros & Cons

Pros

Wide Algorithm Support

Implements MD5, SHA1, SHA256, SHA512, RIPEMD-160, and HMAC, covering most common cryptographic hashing needs as listed in the README.

Zero Dependencies

Written in pure ES5 JavaScript with no external modules, ensuring it runs in any environment without additional setup or polyfills.

Cross-Platform Consistency

Guarantees identical hash outputs across browsers, Node.js, and other JS runtimes, avoiding platform-specific discrepancies.

Additional Encoding Utilities

Includes built-in Base64 encoding/decoding and CRC-32 calculation, reducing the need for separate libraries for common tasks.

Cons

String-Only Input Limitation

Cannot hash files or binary data directly, as the README explicitly states it only supports string-based inputs, restricting use cases like file integrity checks.

No Modern Algorithm Updates

The library has no plans to add newer algorithms like SHA-3, limiting its relevance for projects requiring up-to-date cryptographic standards.

Performance Overhead vs Native

Pure JavaScript implementation is slower than native crypto modules in environments like Node.js, as acknowledged in the README's benchmark notes.

Frequently Asked Questions

Quick Stats

Stars725
Forks135
Contributors0
Open Issues8
Last commit4 years ago
CreatedSince 2012

Tags

#sha2#hashing#md5#sha512#hmac#hexadecimal#nodejs#javascript-library#javascript#cryptography#browser#sha1#sha256

Built With

J
JavaScript
E
ES5

Included in

Cryptography6.8k
Auto-fetched 1 day ago

Related Projects

crypto-jscrypto-js

JavaScript library of crypto standards.

Stars16,391
Forks2,493
Last commit1 year ago
node.bcrypt.jsnode.bcrypt.js

bcrypt for NodeJs

Stars7,800
Forks550
Last commit1 month ago
sjclsjcl

[DEPRECATED] Stanford Javascript Crypto Library

Stars7,217
Forks994
Last commit2 months ago
jsencryptjsencrypt

A tiny (18.5 kB gzip), zero-dependency, Javascript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.

Stars6,798
Forks2,003
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub