ApelegHQ / c-sha2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ”’ SHA-2 implementation in C

Reliability Rating Vulnerabilities Bugs Security Rating Maintainability Rating NPM Downloads


πŸš€ Features

  • C implementation
  • JavaScript compiled from C
  • No dependencies
  • No async required
  • Supports SHA-256 (and SHA-512, but that's currently not part of the NPM package)
  • Can export the digest state
  • Can easily work with streams

πŸ’» Installation

The C library can be compiled from source using cmake.

To install the JavaScript package, you can use npm or yarn:

npm install @exact-realty/sha2

or

yarn add @exact-realty/sha2

πŸ“š Usage

Decrypting Data

import sha2 from '@exact-realty/sha2';

// Create a SHA-256 instance
const hasher = sha2();

// Update the hash with data
hasher.update(Buffer.from('Hello, world!'));

// Finalize the hash and get the result
const hashResult = hasher.finish();
// ArrayBuffer {
//  [Uint8Contents]: <31 5f 5b db 76 d0 78 c4 3b 8a c0 06 4e 4a 01 64 61 2b 1f
//    ce 77 c8 69 34 5b fc 94 c7 58 94 ed d3>,
//  byteLength: 32
// }

// Export the current state
const exportedState = hasher.exportState();
// ArrayBuffer {
//  [Uint8Contents]: <6a 09 e6 67 bb 67 ae 85 3c 6e f3 72 a5 4f f5 3a 51 0e 52
//    7f 9b 05 68 8c 1f 83 d9 ab 5b e0 cd 19 00 00 00 00 00 00 00 00 00 00 00 00
//    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
//    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
//    00 00 00 00 00 00 ... 4 more bytes>,
//  byteLength: 104
// }

// Import a previously exported state
hasher.importState(exportedState);

// Scrub the hash state
hasher.scrub();

🀝 Contributing

We welcome any contributions and feedback! Please feel free to submit pull requests, bug reports or feature requests to our GitHub repository.

πŸ“œ License

This project is released under the Apache 2.0 license. Check out the LICENSE file for more information.

About


Languages

Language:C 74.6%Language:CMake 25.1%Language:TypeScript 0.3%