@exodus/crypto v1.0.0-rc.27
@exodus/crypto
Reusable cryptography primitives, for browser/Node.js/Electron/React Native
For hashes not implemented by the platform, requires @noble/hashes dependency
A note about React Native
On React Native, methods that use randomness expect
globalThis.crypto.getRandomValuesto work. That can be polyfilled withrequire('react-native-get-random-values').Buffershould be polyfilled (either globally or via a bundler).
Regular API
randomBytes(size)
import { randomBytes } from '@exodus/crypto/randomBytes'Returns a Buffer instance of length size filled from CSPRNG.
On non-Node.js environments, requires polyfilled Buffer.
randomUUID()
import { randomUUID } from '@exodus/crypto/randomUUID'Returns a random UUID (version 4, variant 1), filled from CSPRNG.
This contains 122 bits of randomness.
Compatible with Crypto.randomUUID().
await hash(type, arg[, form])
import { hash } from '@exodus/crypto/hash'Hashes arg using the hash specified as type.
Returns the result as encoded as form (e.g. 'hex') or as a Buffer instance if form is not specified.
E.g.:
> await hash('sha256', 'abc', 'hex')
'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad'
> await hash('sha256', Buffer.from('abc'), 'hex')
'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad'
> await hash('sha256', new Uint8Array([97, 98, 99]), 'hex')
'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad'
await hash('sha256', Buffer.from('abc'))
Buffer(32) [186, 120, 22, 191, 143, 1, 207, 234, 65, 65, 64, 222, 93, 174, 34, 35, 176, 3, 97, 163, 150, 23, 122, 156, 180, 16, 255, 97, 242, 0, 21, 173]await hmac(type, secret, arg[, form])
import { hmac } from '@exodus/crypto/hmac'HMAC implementation, usage similar to hash().
Empty secret values are not supported.
12 months ago
11 months ago
11 months ago
11 months ago
12 months ago
10 months ago
10 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
4 years ago
4 years ago
4 years ago