New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

react-native-securekv

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-securekv

Light-Weight Secure key-value storage for React Native (AES + SHA Hashing + AES-GCM)

latest
npmnpm
Version
1.3.0
Version published
Maintainers
1
Created
Source

📦 react-native-securekv

Light-Weight Secure key-value storage for React Native apps
Built on PBKDF2-SHA256 key derivation and AES-256-GCM encryption Unlike AsyncStorage, all values are encrypted and can only be decrypted with the correct passphrase.
If the passphrase is lost, the data is unrecoverable.

🎥 Demo

Here’s how it works (encrypt → decrypt → verify) 👇

SecureKV Demo

  • Check the Github Repo Click here

✨ Features

  • 🔑 Strong PBKDF2-SHA256 key derivation (configurable iterations, salt).

  • 🔒 AES-256-GCM encryption with authentication (detects tampering).

  • 🚫 Passphrase required for both encryption and decryption — no accidental leaks.

  • 🧹 Utilities to remove or clear stored items.

  • ✅ Passphrase verification helper.

  • ⚡ Drop-in for React Native apps (iOS + Android).

  • Useful for Banking and other Crypto Apps that wanna prioritize security.

📦 Installation

# with npm
npm install react-native-securekv

# with yarn
yarn add react-native-securekv

📦 Peer dependencies

# with npm
# required peer deps
npm install react-native-get-random-values @react-native-async-storage/async-storage react-native-simple-crypto

# with yarn
# required peer deps
yarn add react-native-get-random-values @react-native-async-storage/async-storage react-native-simple-crypto

📖 Usage


import SecureKV from "react-native-securekv";

async function demo() {
    const passphrase = "myStrongPassword123"; // ideally from secure storage/env

    // Save a value securely
    await SecureKV.setItem("userToken", "abc123", passphrase);

    // Retrieve the value (will decrypt using passphrase)
    const value = await SecureKV.getItem("userToken", passphrase);
    console.log("Decrypted value:", value);

    // Remove a value
    await SecureKV.removeItem("userToken");

    // Clear all values (⚠️ irreversible)
    await SecureKV.clear();

    // Verify passphrase correctness
    await SecureKV.createVerifyBlob(passphrase); // call once to set verification value
    const ok = await SecureKV.verify(passphrase);
    console.log("Password match?", ok);
}



🔑 API

setItem(key, value, passphrase, options?)

Encrypts value using passphrase and stores it in SecureKV.

getItem(key, passphrase)

Retrieves and decrypts the value. Returns null if the key does not exist.

removeItem(key)

Removes a stored item.

clear()

Clears all stored secure items.

createVerifyBlob(passphrase)

Stores a hidden encrypted “ok” marker for passphrase validation.

verify(passphrase)

Checks if a stored item can be decrypted with the given passphrase.

📌 Notes

1.Always store passphrases securely. If the wrong passphrase is provided, decryption will fail.

2.This library is designed for React Native only.

3.AES-GCM provides both encryption and integrity protection.

4.Supports Typescript

📜 License

MIT © 2025

Future & Support

  • Anyone would like to contribute to this repo, Kindly ping me or send an email with your github ID to this mail: stellarworks03@gmail.com
  • If you find this repo useful give a star on github

Keywords

react-native

FAQs

Package last updated on 17 Sep 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts