/zwsp-steg-js

Zero-Width Space Steganography, encodes/decodes hidden messages as non printable/readable characters.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

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

Single File

copy content in test.js and use this

(new Steganography()).encode('sample string')

NOTE: make sure to remove the example at the bottom if you dont want it.

replace "sample string" with your string to decode replace encode with decode

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