All Projects → mderazon → Node Fpe

mderazon / Node Fpe

Licence: mit
Format preserving string substitution encryption

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Node Fpe

Cape
String encryption for Arduino, limited microcontrollers and other embedded systems.
Stars: ✭ 58 (+241.18%)
Mutual labels:  encryption, cipher
Sboot stm32
Secure USB DFU1.1 bootloader for STM32
Stars: ✭ 181 (+964.71%)
Mutual labels:  encryption, cipher
Cryptii
Web app and framework offering modular conversion, encoding and encryption
Stars: ✭ 971 (+5611.76%)
Mutual labels:  encryption, cipher
Enigma
Enigma cipher tool
Stars: ✭ 13 (-23.53%)
Mutual labels:  encryption, cipher
AES
AES for microcontrollers (Arduino & Raspberry pi)
Stars: ✭ 116 (+582.35%)
Mutual labels:  encryption, cipher
Encrypt
🔒 A set of high-level APIs over PointyCastle for two-way cryptography.
Stars: ✭ 199 (+1070.59%)
Mutual labels:  encryption, cipher
Enigmakit
Enigma encryption in Swift
Stars: ✭ 108 (+535.29%)
Mutual labels:  encryption, cipher
Swifty
🔑 Free Offline Password Manager
Stars: ✭ 496 (+2817.65%)
Mutual labels:  encryption, cipher
xipher
🔒 Simple perfect xor encryption cipher 🔒
Stars: ✭ 61 (+258.82%)
Mutual labels:  encryption, cipher
shadowsocks-libev-nocrypto
libev port of shadowsocks. In this fork, encryption is optional!
Stars: ✭ 24 (+41.18%)
Mutual labels:  encryption, cipher
Eth Crypto
Cryptographic javascript-functions for ethereum and tutorials to use them with web3js and solidity
Stars: ✭ 420 (+2370.59%)
Mutual labels:  encryption, cipher
Android Goldfinger
Android library to simplify Biometric authentication implementation.
Stars: ✭ 608 (+3476.47%)
Mutual labels:  encryption, cipher
Jose Jwt
Ultimate Javascript Object Signing and Encryption (JOSE) and JSON Web Token (JWT) Implementation for .NET and .NET Core
Stars: ✭ 692 (+3970.59%)
Mutual labels:  encryption
Openvpn Install
Set up your own OpenVPN server on Debian, Ubuntu, Fedora, CentOS or Arch Linux.
Stars: ✭ 7,142 (+41911.76%)
Mutual labels:  encryption
Xjar
Spring Boot JAR 安全加密运行工具,支持的原生JAR。
Stars: ✭ 692 (+3970.59%)
Mutual labels:  encryption
Rdedup
Data deduplication engine, supporting optional compression and public key encryption.
Stars: ✭ 690 (+3958.82%)
Mutual labels:  encryption
Rage
A simple, secure and modern encryption tool (and Rust library) with small explicit keys, no config options, and UNIX-style composability.
Stars: ✭ 826 (+4758.82%)
Mutual labels:  encryption
Acra
Database security suite. Database proxy with field-level encryption, search through encrypted data, SQL injections prevention, intrusion detection, honeypots. Supports client-side and proxy-side ("transparent") encryption. SQL, NoSQL.
Stars: ✭ 726 (+4170.59%)
Mutual labels:  encryption
Aws Vpn Server Setup
Setup your own private, secure, free* VPN on the Amazon AWS Cloud in 10 minutes. CloudFormation
Stars: ✭ 672 (+3852.94%)
Mutual labels:  encryption
Decodify
Detect and decode encoded strings, recursively.
Stars: ✭ 670 (+3841.18%)
Mutual labels:  cipher

node-fpe

Build status styled with prettier

Format preserving string substitution encryption

In general, format-preserving encryption is a type of encryption such that the output (the ciphertext) is in the same format as the input (the plaintext).

This library uses a simple substitution cipher algorithm. Read more about the security of this library in the dedicated section below.

Usage

Example:

cipher with default domain ([0-9])

const fpe = require('node-fpe');
const cipher = fpe({ secret: 'secret!' });

cipher.encrypt('1234567');
// '7130548'

cipher.decrypt('7130548');
// '1234567'

cipher with a custom domain ([A-E])

const fpe = require('node-fpe');
const cipher = fpe({ secret: 'secret!', domain: ['A', 'B', 'C', 'D', 'E'] });

cipher.encrypt('BEEBEE');
// 'ABBABB'

cipher.decrypt('ABBABB');
// 'BEEBEE'

Options

Options to pass on to node-fpe are:

  • secret: mandatory. a secret used in the underlying hash function.
  • domain: optional. an array of characters used as the FPE domain. default: 0-9 digits

Security

This module is using the term format-preserving encryption, however it is not a proper fpe implementation. It is basically a substitution cipher, you can use it to scramble and de-scramble strings but it is not recommended to use it with anything sensitive as the encryption is weak.

For fpe, there are other libraries available:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].