Retour

Hide Text in Text

How I hid text within text. By manipulating text bits, I managed to hide text within text using invisible characters.

4 novembre 2021
Hide Text in Text
HTMLCSSJavaScript

The project is currently hosted at https://cacherdutexte.github.io

How I Hid Text Within Text

This is a way to hide text within text by manipulating bits. Imagine the string:

Hacker

That I want to hide in the message:

Hello, I'm Axel Thauvin
  • First, we retrieve the decimal representation in the UTF-8 table of each character in the Hacker string.

    Here's a table showing the decimal representation of the first 127 characters (also called ASCII table): ASCII table

For example, let's take the character H. Here, its decimal representation is 72 (base 10).

  • Then we'll convert this number to base 6 on 4 'bits'

    Why?

    If we encode the letters in base 6 on 4 bits, we'll have a maximum representation of 5555 -> which is 6⁴ -> 1296: the maximum value we can exploit in this table

    In fact, we have 5 invisible characters that will correspond to the digits of these bits, which we'll hide in our text.

    • For 0 there is no hidden character
    • For 1 it's the unicode character \u200C
    • For 2 it's the unicode character \u200D
    • For 3 it's the unicode character \u200E
    • For 4 it's the unicode character \u200F
    • For 5 it's the unicode character \u034F

    Example with H

    Here the decimal representation of H is 72. Its representation in base 6 on 4 bits is 0200.

    So I will:

    • Not add a character for the 1st bit (because it equals 0)
    • Add the character \u200D for the 2nd bit (because it equals 2)
    • Not add a character for the 3rd bit (because it equals 0)
    • Not add a character for the 4th bit (because it equals 0)

    Let's take the initial string again I have Hello, I'm Axel Thauvin. So I'll write: He\u200Dll just for the H

    And I do the same with all the characters of Hacker. Which gives me: He‍llo‍,‏ ‌I‍'‏m‎ A‍x͏e͏l ‍T‏h͏auvin (generated with my program, you can try it on my site)

    Here's the result: GIF image