Skip to content

michalsmiarowski/bcrypto

This branch is 36 commits behind bcoin-org/bcrypto:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a0e2635 · Oct 26, 2021
Aug 15, 2020
Oct 27, 2020
Oct 26, 2021
Oct 26, 2021
Oct 26, 2021
Oct 26, 2021
Oct 26, 2021
Mar 21, 2019
Jul 19, 2020
Jul 19, 2020
Oct 26, 2021
Jul 29, 2019
Aug 15, 2020
Aug 23, 2019
Oct 26, 2021
Oct 11, 2021

Repository files navigation

bcrypto

node.js

The missing crypto module for Node.js. Bcrypto provides you with a consistent interface across Node.js and the browser. It is implemented as a Node.js addon for C libraries libtorsion and libsecp256k1 with corresponding implementations in JavaScript.

Usage

const rng = require('bcrypto/lib/random');
const entropy = rng.randomBytes(32);

const Hash256 = require('bcrypto/lib/hash256');
const digest = Hash256.digest(Buffer.alloc(32, 0xaa));

API

See the ./lib directory for available modules and APIs.

Implementations

nodejs (linux) nodejs (macos) nodejs (win) browser
aead c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
aes c (libtorsion) c (libtorsion) c (libtorsion) js
bcrypt c (libtorsion) c (libtorsion) c (libtorsion) js
blake2b{160,256,384,512} c (libtorsion) c (libtorsion) c (libtorsion) js
blake2s{128,160,224,256} c (libtorsion) c (libtorsion) c (libtorsion) js
bn js w/ bigint js w/ bigint js w/ bigint js
chacha20 c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
cshake{128,256} c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
ctr-drbg c (libtorsion) c (libtorsion) c (libtorsion) js
dsa c (libtorsion) c (libtorsion) c (libtorsion) js
eb2k c (libtorsion) c (libtorsion) c (libtorsion) js
ecies c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
ed25519 c (libtorsion) c (libtorsion) c (libtorsion) js
ed448 c (libtorsion) c (libtorsion) c (libtorsion) js
gost94 c (libtorsion) c (libtorsion) c (libtorsion) js
hash160 c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
hash256 c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
hash-drbg c (libtorsion) c (libtorsion) c (libtorsion) js
hkdf c (libtorsion) c (libtorsion) c (libtorsion) js
hmac-drbg c (libtorsion) c (libtorsion) c (libtorsion) js
keccak/sha3{224,256,384,512} c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
kmac{128,256} c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
md{2,4,5} c (libtorsion) c (libtorsion) c (libtorsion) js
md5sha1 c (libtorsion) c (libtorsion) c (libtorsion) js
merkle js js js js
mrkl js js js js
murmur3 c (libtorsion) c (libtorsion) c (libtorsion) js
p{192,224,256,384,521} c (libtorsion) c (libtorsion) c (libtorsion) js
pbkdf2 c (libtorsion) c (libtorsion) c (libtorsion) js
pgp js js js js
poly1305 c (libtorsion) c (libtorsion) c (libtorsion) js
random c (openssl²) c (openssl²) c (openssl²) js³
rc4 c (libtorsion) c (libtorsion) c (libtorsion) js
ripemd160 c (libtorsion) c (libtorsion) c (libtorsion) js
rsa c (libtorsion) c (libtorsion) c (libtorsion) js
rsaies c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
salsa20 c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
schnorr c (libtorsion) c (libtorsion) c (libtorsion) js
scrypt c (libtorsion) c (libtorsion) c (libtorsion) js
secp256k1 c (libsecp256k1²) c (libsecp256k1²) c (libsecp256k1²) js
sha1 c (libtorsion) c (libtorsion) c (libtorsion) js
sha{224,256,384,512} c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
shake{128,256} c (libtorsion¹) c (libtorsion¹) c (libtorsion) js
siphash c (libtorsion) c (libtorsion) c (libtorsion) js
ssh js js js js
whirlpool c (libtorsion) c (libtorsion) c (libtorsion) js
x25519 c (libtorsion) c (libtorsion) c (libtorsion) js
x448 c (libtorsion) c (libtorsion) c (libtorsion) js

Footnotes

  1. with x86-64 assembly
  2. optionally with libtorsion
  3. using the webcrypto api

Contribution and License Agreement

If you contribute code to this project, you are implicitly allowing your code to be distributed under the MIT license. You are also implicitly verifying that all code is your original work. </legalese>

License

  • Copyright (c) 2017-2019, Christopher Jeffrey (MIT License).

See LICENSE for more info.

About

JS crypto library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 88.3%
  • C 11.3%
  • Other 0.4%