@ko-developerhong/react-native-crypto-rsa
v0.1.22
Published
crypto library for rsa
Downloads
5
Maintainers
Readme
@ko-developerhong/react-native-crypto-rsa
introduce
@ko-developerhong/react-native-crypto-rsa
The library provides RSA encryption and decryption in React Native applications, which allow you to generate public and private keys, and encrypt or decrypt messages.
Installation
npm install @ko-developerhong/react-native-crypto-rsa
iOS
- Add the following lines to the Podfile.
pod 'react-native-crypto-rsa', :path => '../node_modules/react-native-crypto-rsa'
- From the terminal, go to the root directory of the project and issue the
pod install
command.
cd ios
pod install
# OR
npx pod-install ios
Manual Installation
Open
Xcode
, click Project Files, and addlibreact-native-crypto-rsa.a
to theLink Binary With Libraries
section on theBuild Phases
tab.
Usage
Generating public and private keys
- The
publicKey
value is returned in the form of apemString
.
import RNCryptoRsa from '@ko-developerhong/react-native-crypto-rsa';
// keySize: An integer value representing the size of the key to be generated. The default is 2048.
const keySize = 2048
const { publicKey } = await RNCryptoRsa.init(keySize);
const publicKeyPemString = await RNCryptoRsa.getPublicKey();
Encrypt and decrypt messages
import RNCryptoRsa from '@ko-developerhong/react-native-crypto-rsa';
const encryptedMessage = await RNCryptoRsa.encrypt('Hello, World!', publicKey);
const decryptedMessage = await RNCryptoRsa.decrypt(encryptedMessage); // Hello, World!
SHA512 hash generation
import RNCryptoRsa from '@ko-developerhong/react-native-crypto-rsa';
const { publicKey } = await RNCryptoRsa.init(keySize);
const sha512Text = await RNCryptoRsa.getSHA512Text(publicKey); // hashText
Precautions
RSA encryption and decryption are CPU and memory intensive, which can affect performance when handling large amounts of data. Public and private keys are critical to security, so they should be stored in a secure place and deleted if unnecessary. The public key is used to encrypt the message, and the private key is used to decrypt the encrypted message.
Example
yarn example start
yarn example android
# OR
yarn example ios
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