Skip to content

Encode ASCII strings into zero-width unicode characters, and decode back into ASCII

License

Notifications You must be signed in to change notification settings

ctrl-escp/hiddencoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hiddencoder

Encode ASCII strings into zero-width unicode characters (hiddencoded), and decode back into ASCII

Description

A simple encode-decode tool. Got the idea from @FakeUnicode's tweet, and the great breakdown on Stefan Judis' blog post.

This tool takes an ASCII string and encodes it into zero-width unicode characters, which won't show up when printing the unescaped string (a hiddencoded string). A decode operation is also available.

Usage

const {a2h, h2a} = require('hiddencoder');

const hiddenString = a2h("Hidden string");
console.log(`Hidden: ${hiddenString}`);
console.log(`Actual: ${h2a(hiddenString)}`);
// Output:
//   Hidden: 󠅈󠅩󠅤󠅤󠅥󠅮󠄠󠅳󠅴󠅲󠅩󠅮󠅧 <- It's right here, the empty character
//   Actual: Hidden string

Example usage:

Use the example files to encode a file in order to hide its content:

Encode the code in encode.js file by using it on itself

node encode.js encode.js

This will save the encoded output into encode.js.enc, and will seem empty

Decode the content back into readable form by using decode.js

node decode.js encode.js.enc

This will save the decoded output into encode.js.enc.dec

About

Encode ASCII strings into zero-width unicode characters, and decode back into ASCII

Topics

Resources

License

Stars

Watchers

Forks