Zero-Width Space Steganography, encodes/decodes hidden messages as non printable/readable characters.
Switch branches/tags
Nothing to show
Clone or download
Pascal Severin
Latest commit 0d79662 Sep 17, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src First project commit Apr 15, 2018
.gitignore First project commit Apr 15, 2018
.travis.yml First project commit Apr 15, 2018
CHANGELOG.md Fixes changelog Apr 15, 2018
LICENSE Initial commit Apr 15, 2018
README.md Adds dependencies security status to readme Sep 17, 2018
index.js First project commit Apr 15, 2018
package.json Extends readme Apr 15, 2018
test.js First project commit Apr 15, 2018

README.md

zwsp-steg

Zero-Width Space Steganography. Encodes and decodes hidden messages as non printable/readable characters. A demo can be found here.

npm Travis dependencies Status devDependencies Status License

Installation

$ npm install zwsp-steg

Usage Example

const ZwspSteg = require('zwsp-steg');

let encoded = ZwspSteg.encode('hidden message');
let decoded = ZwspSteg.decode(encoded);

console.log(decoded); // hidden message

Note that decoding a message will ignore all non 'special' characters. That means if you hide your message within a readable string, and decode the whole string, you will only return the hidden message.

Parameters

You can use different sets of characters in different encoding / decoding modes.

const ZwspSteg = require('zwsp-steg');

ZwspSteg.encode('hidden message', ZwspSteg.MODE_ZWSP);
ZwspSteg.encode('hidden message', ZwspSteg.MODE_FULL);

Character sets used

  • MODE_ZWSP: Zero-Width Space (\u200b), Zero-Width Non-Joiner (\u200c), Zero-Width Joiner (\u200d)
  • MODE_FULL: All MODE_ZWSP characters, Left-To-Right Mark (\u200e), Right-To-Left Mark (\u200f)

License

Apache-2.0