react-native-security-suite v0.9.15
react-native-security-suite
Security solutions for React Native both platform Android and iOS You can use any of the following:
Installation
yarn add react-native-security-suite @react-native-async-storage/async-storagenpm install react-native-security-suite @react-native-async-storage/async-storageUsage
- Android Root or iOS Jailbreak devices detection example:
import { deviceHasSecurityRisk } from 'react-native-security-suite';
const isRiskyDevice = await deviceHasSecurityRisk();
console.log('Root/Jailbreak detection result: ', isRiskyDevice);2. Disable capture/screenshot:
import { SecureView } from 'react-native-security-suite';
<View style={styles.container}>
<SecureView>
<Text>Protect this from screenshot or screen record</Text>
</SecureView>
</View>;3. Text Encryption/Decryption example:
const softEncrypted = await encrypt('STR_FOR_ENCRYPT');
console.log('Encrypted result: ', softEncrypted);
const softDecrypted = await decrypt('STR_FOR_DECRYPT');
console.log('Decrypted result: ', softDecrypted);4. Secure storage example:
import { SecureStorage } from 'react-native-security-suite';
SecureStorage.setItem('key', 'value');
console.log(await SecureStorage.getItem('key'));5. Diffie–Hellman key exchange:
import {
getPublicKey,
getSharedKey,
encryptBySharedKey,
decryptBySharedKey,
encrypt,
decrypt,
} from 'react-native-security-suite';
const publicKey = await getPublicKey();
console.log('Public key: ', publicKey);
/*
* Sending the publicKey to the server and receiving the SERVER_PUBLIC_KEY
* Using the SERVER_PUBLIC_KEY to generate sharedKey
*/
const sharedKey = await getSharedKey('SERVER_PUBLIC_KEY');
console.log('Shared key: ', sharedKey);
const hardEncrypted = await encryptBySharedKey('STR_FOR_ENCRYPT');
console.log('Encrypted result: ', hardEncrypted);
const hardDecrypted = await decryptBySharedKey('STR_FOR_DECRYPT');
console.log('Decrypted result: ', hardDecrypted);6. SSL Pinning with network logger:
import { fetch } from 'react-native-security-suite';
const response = await fetch('https://example.com/api', {
method: 'POST', // or any http methods
headers: {
'Content-Type': 'application/json',
},
body: {
key: value,
},
certificates: ['sha256/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX='],
validDomains: ['example.com'],
timeout: 6000,
});
console.log('server response: ', response.json());7. Network Logger (Android Chucker - iOS Pulse):
import { fetch } from 'react-native-security-suite';
fetch(YOUR_REQUEST, __DEV__);Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
10 months ago
11 months ago
12 months ago
11 months ago
12 months ago
10 months ago
11 months ago
10 months ago
11 months ago
12 months ago
10 months ago
12 months ago
12 months ago
10 months ago
10 months ago
12 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months 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
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
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago