# xxtea-node

> XXTEA is a fast and secure encryption algorithm. This is a XXTEA library for Node.js.

Latest version **1.1.5** (published 2023-01-13) · MIT license · 0 weekly downloads

## Install

```sh
npm install xxtea-node
pnpm add xxtea-node
yarn add xxtea-node
bun add xxtea-node
```

## Health

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

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.5 |
| Published | 2023-01-13 |
| First published | 2015-08-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | * |
| Dependencies | 0 |
| Unpacked size | 16.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 58 |
| Author | Ma Bingyao |
| Maintainers | andot |
| Keywords | xxtea, encrypt, decrypt |

## Links

- npm: https://www.npmjs.com/package/xxtea-node
- Repository: https://github.com/xxtea/xxtea-nodejs
- Issues: https://github.com/xxtea/xxtea-nodejs/issues
- npm.io page: https://npm.io/package/xxtea-node

## Alternatives

- [@gemini-wallet/core](https://npm.io/package/@gemini-wallet/core.md) — 515.6K weekly downloads
- [utility](https://npm.io/package/utility.md) — 416.6K weekly downloads
- [@primno/dpapi](https://npm.io/package/@primno/dpapi.md) — 7.2K weekly downloads
- [pi-readseek](https://npm.io/package/pi-readseek.md) — 3.7K weekly downloads
- [@emilia-protocol/verify](https://npm.io/package/@emilia-protocol/verify.md) — 1.1K weekly downloads

## Recent versions

- 1.1.5 (latest) — 2023-01-13
- 1.1.4 — 2019-12-27
- 1.1.2 — 2016-02-16
- 1.1.1 — 2016-01-28
- 1.1.0 — 2015-12-10
- 1.0.1 — 2015-08-01
- 1.0.0 — 2015-08-01

## README

# XXTEA for Node.js

<a href="https://github.com/xxtea/">
    <img src="https://avatars1.githubusercontent.com/u/6683159?v=3&s=86" alt="XXTEA logo" title="XXTEA" align="right" />
</a>

[![Join the chat at https://gitter.im/xxtea/xxtea-nodejs](https://img.shields.io/badge/GITTER-join%20chat-green.svg)](https://gitter.im/xxtea/xxtea-nodejs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![npm download](https://img.shields.io/npm/dm/xxtea-node.svg)](https://www.npmjs.com/package/xxtea-node)
[![npm version](https://img.shields.io/npm/v/xxtea-node.svg)](https://www.npmjs.com/package/xxtea-node)
[![License](https://img.shields.io/npm/l/xxtea-node.svg)](http://opensource.org/licenses/MIT)

## Introduction

XXTEA is a fast and secure encryption algorithm. This is a XXTEA library for  Node.js.

It is different from the original XXTEA encryption algorithm. It encrypts and decrypts Uint8Array instead of uint32[], and the key is also Uint8Array. If you want to encrypt String, you can use xxtea.toBytes(str) to convert String to Uint8Array, when you decrypt Uint8Array, you can use xxtea.toString(bytes) to convert the result to String. Conversion between string and Uint8Array is using UTF8 encoding.

## Usage

```javascript
var xxtea = require('xxtea-node');

var str = "Hello World! 你好，中国！";
var key = "1234567890";
var encrypt_data = xxtea.encrypt(xxtea.toBytes(str), xxtea.toBytes(key));
console.log(new Buffer(encrypt_data).toString('base64'));
var decrypt_data = xxtea.toString(xxtea.decrypt(encrypt_data, xxtea.toBytes(key)));
console.assert(str === decrypt_data);
```

## ChangeLog

1.1.0 update

* Fixed Emoji encode & decode bug.
* Improved Long String encrypt and decrypt.
* Added `encryptToString` and `decryptToString`, for example:

```javascript
var xxtea = require('xxtea-node');

var str = "Hello World! 你好，中国🇨🇳！";
var key = "1234567890";
var encrypt_data = xxtea.encryptToString(str, key);
console.log(encrypt_data);
var decrypt_data = xxtea.decryptToString(encrypt_data, key);
console.assert(str === decrypt_data);
```

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