# cryptojs

> Following googlecode project crypto-js, provide standard and secure cryptographic algorithms for NodeJS. Support MD5, SHA-1, SHA-256, RC4, Rabbit, AES, DES, PBKDF2, HMAC, OFB, CFB, CTR, CBC, Base64

Latest version **2.5.3** (published 2012-01-14) · 0 weekly downloads

## Install

```sh
npm install cryptojs
pnpm add cryptojs
yarn add cryptojs
bun add cryptojs
```

## Health

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

Positive: has types package; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.5.3 |
| Published | 2012-01-14 |
| First published | 2012-01-14 |
| Weekly downloads | 0 |
| TypeScript types | separate (@types/cryptojs) |
| Module format | CommonJS |
| Node | * |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Jeff Guo |
| Maintainers | gwjjeff |

## Links

- npm: https://www.npmjs.com/package/cryptojs
- Repository: https://github.com/gwjjeff/cryptojs
- npm.io page: https://npm.io/package/cryptojs

## Recent versions

- 2.5.3 (latest) — 2012-01-14

## README

cryptojs
--------

* with little modification, converted from googlecode project [crypto-js](http://code.google.com/p/crypto-js/), and keep the source code structure of the origin project on googlecode
* source code worked in both browser engines and node scripts. see also: [https://github.com/gwjjeff/crypto-js-npm-conv](https://github.com/gwjjeff/crypto-js-npm-conv)
* inspiration comes from [ezcrypto](https://github.com/ElmerZhang/ezcrypto), but my tests cannot pass with his version ( ECB/pkcs7 mode ), so I made it myself

### install

<pre>
npm install cryptojs
</pre>

### usage (example with [coffee-script](http://coffeescript.org/))

<pre>
Crypto = (require 'cryptojs').Crypto
key = '12345678'
us = 'Hello, 世界!'

mode = new Crypto.mode.ECB Crypto.pad.pkcs7

ub = Crypto.charenc.UTF8.stringToBytes us
eb = Crypto.DES.encrypt ub, key, {asBytes: true, mode: mode}
ehs= Crypto.util.bytesToHex eb

eb2= Crypto.util.hexToBytes ehs
ub2= Crypto.DES.decrypt eb2, key, {asBytes: true, mode: mode}
us2= Crypto.charenc.UTF8.bytesToString ub2
# should be same as the var 'us'
console .log us2
</pre>

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