# react-native-crypto-js

> CryptoJS is a growing collection of standard and secure cryptographic algorithms implemented in JavaScript using best practices and patterns. They are fast, and they have a consistent and simple interface.

Latest version **1.0.0** (published 2018-10-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-native-crypto-js
pnpm add react-native-crypto-js
yarn add react-native-crypto-js
bun add react-native-crypto-js
```

## Health

**Score 33/100 (F)** — status: abandoned.

Positive: has types package; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2018-10-05 |
| First published | 2018-10-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/react-native-crypto-js) |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 20.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 46 |
| Author | Chintan Prajapati |
| Maintainers | chintanprajapati |
| Keywords | react, react-native, crypto, crypto-js |

## Links

- npm: https://www.npmjs.com/package/react-native-crypto-js
- Repository: https://github.com/imchintan/react-native-crypto-js
- Homepage: https://github.com/imchintan/react-native-crypto-js#readme
- Issues: https://github.com/imchintan/react-native-crypto-js/issues
- npm.io page: https://npm.io/package/react-native-crypto-js

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 1.0.0 (latest) — 2018-10-05

## README

# React Native CryptoJS

React native javascript library of crypto standards.

## Install


```bash
npm install react-native-crypto-js
```

### Usage

ES6 import for typical API call signing use case:


```javascript
var AES = require("react-native-crypto-js").AES;
var SHA256 = require("react-native-crypto-js").SHA256;
...
console.log(SHA256("Message"));
```

## API

See: https://code.google.com/p/crypto-js

### AES Encryption

#### Plain text encryption

```javascript
import CryptoJS from "react-native-crypto-js";

// Encrypt
let ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123').toString();

// Decrypt
let bytes  = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');
let originalText = bytes.toString(CryptoJS.enc.Utf8);

console.log(originalText); // 'my message'
```

#### Object encryption

```javascript
import CryptoJS from "react-native-crypto-js";

let data = [{id: 1}, {id: 2}]

// Encrypt
let ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'secret key 123').toString();

// Decrypt
let bytes  = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');
let decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));

console.log(decryptedData); // [{id: 1}, {id: 2}]
```

### List of Algorithms

#### Hashers

- ```MD5```
- ```SHA1```
- ```SHA256```
- ```SHA512```
- ```SHA224```
- ```SHA384```
- ```SHA3```
- ```RIPEMD160```
---
#### HMAC
- ```HmacMD5```
- ```HmacSHA1```
- ```HmacSHA256```
- ```HmacSHA224```
- ```HmacSHA512```
- ```HmacSHA384```
- ```HmacSHA3```
- ```HmacRIPEMD160```
---
#### PBKDF2
- ```PBKDF2```
---
#### Ciphers
- ```AES```
- ```DES```
- ```TripleDES```
- ```RC4```
- ```RC4Drop```
- ```Rabbit```

## Reporting Issues

[Bugs | New Features](https://github.com/imchintan/react-native-crypto-js/issues)


## Contributing
Check the issues and pull requests to see if the idea or bug you want to share about is already present. If you don't see it, do one of the following:

* If it is a small change, just fork the project and create a pull request.
* If it is major, start by opening an issue.


## Help Wanted!

If you're familiar with React Native, and you'd like to see this project progress, please consider contributing.


## License

Please see [LICENSE](LICENSE) for more info.

---
_Source: https://npm.io/package/react-native-crypto-js · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
