0.5.1 • Published 10 months ago
@fintoda/react-native-crypto-lib v0.5.1
Overview
This module is a native wrapper for cryptographic functions, leveraging Trezor Crypto and secp256k1 libraries written in C. It is designed for use with React Native, providing highly efficient and secure cryptographic operations directly on mobile devices. This module is especially useful for blockchain-based applications and cryptocurrency wallets.
Features
Hash Functions:
- SHA1, SHA256, SHA512
- SHA3-256, SHA3-512
- KECCAK-256, KECCAK-512
- RIPEMD160
- HASH256 (double SHA-256)
- HASH160 (SHA-256 followed by RIPEMD-160)
HMAC:
- HMAC SHA256
- HMAC SHA512
PBKDF2:
- PBKDF2 with SHA256
- PBKDF2 with SHA512
AES Encryption:
- AES-256-CBC: Encrypt and decrypt data using AES with 256-bit keys in CBC mode.
BIP Standards:
- BIP32: Hierarchical Deterministic (HD) wallets.
- BIP39: Mnemonic phrases for deterministic key generation.
Digital Signatures:
- ECDSA: Sign and verify messages using the secp256k1 curve.
- Schnorr Signatures: More compact and efficient signatures with support for signature aggregation.
ECC Interface for
bitcoinlib-js
:- Provides an interface for using native ECC operations with the
bitcoinlib-js
library.
- Provides an interface for using native ECC operations with the
Why Use This Module?
- Performance: High performance through native C implementations of cryptographic algorithms.
- Security: Based on reliable and secure industry-standard libraries.
- Compatibility: Works seamlessly with various Bitcoin standards and integrates with
bitcoinlib-js
. - Cross-Platform: Supports both iOS and Android with a unified JavaScript interface.
Installation
npm install @fintoda/react-native-crypto-lib
# or
yarn add @fintoda/react-native-crypto-lib
Usage
import { Buffer } from 'buffer';
import { digest } from '@fintoda/react-native-crypto-lib';
// ...
const data = new Uint8Array(
Buffer.from(
'ab7615a6cb35f59c2c0a2e9d51d2bf2f20366b0fc1e27a30e3e25cfd65b5f5c3',
'hex'
)
);
const result = digest.createHash(digest.HASH.SHA256, data);
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT
Made with create-react-native-library
0.5.1
10 months ago