2.5.0 • Published 11 months ago

@dropthought/dt-rn-encrypted-storage v2.5.0

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
11 months ago

dt-rn-encrypted-storage

encrypted storage for DT

Installation

Install Dependencies

yarn add react-native-aes-crypto react-native-secure-key-store

Install package

yarn add @dropthought/dt-rn-encrypted-storage

Usage

Create an instance of EncryptedStorage

you should pass the storage you want to use (for example, AsyncStorage):

import AsyncStorage from '@react-native-async-storage/async-storage'
import {EncryptedStorage} from '@dropthought/dt-rn-encrypted-storage'

const encryptedStorageClient = new EncryptedStorage(AsyncStorage)

Set the account and the passphrase

this library would use the passphrase you provide to create a key for this account; whenever you use the encryptedStorageClient to set/get data from storage, the data would be prefixed with your account and encrypted with the key:

encryptedStorageClient.setAccount(
  accountText,
  'any phrase, token, password, ...'
)

get/set data with setItemT and getItemT for JSON object

it use JSON.stringify and JSON.parse to serialize/deserialize the data

await encryptedStorageClient.setItemT('key1', {
  time: Date.now(),
  value: 1234,
  arr: [1, 2, 3],
})

const data = await encryptedStorageClient.getItemT('key1')

// the data should be the object above

get/set data with setItem and getItem for string

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

2.5.0

11 months ago

2.4.0

11 months ago

2.3.0

2 years ago

2.3.0-beta.0

2 years ago