Customizable Hexadecimal String Encoder

Customizable Hexadecimal String Encoder

Description

Disclaimer: This is my first ever OpenSCAD creation. I may have done mistakes I don't know of just yet. Please excuse the lack of quality, if any. I built this to encode passwords and secret keys in a physical object that would not be too easy to decode and would also stand the test of time. This is an encoder that takes any hexadecimal (small case) representation of data and converts it into a flat rectangle of about 1 cm height. There is a small 10 x 5 x 10 box that indicates the orientation of the bytes. Its height also represents an "unused bit". Each character of the hex string is converted into two "chunks" with 4 levels of depth each. This way, there are 2 ^ 4 = 16 combinations of heights to get all 16 characters of the hex alphabet. For each letter in the string, a number between 0-15 is assigned. It is after that split with the following formula: X = H1*4 + H2, where X is the number, H1 is the "unit" size of the first chunk and H2 of the second. Each unit is (as currently designed) 0.25 mm. This way, number 5 takes two blocks, 1 and 1. The heights are encoded by cutting into a rectangular shaped box from the top, so if the box is 1 cm high, then a column that is shorter by 0.25cm than the total height of the box will represent a "0", 0.5 cm represents "1", 0.75 cm represents "2" and 1 cm represents "3". The base block has a 3 mm thick bottom for added rigidity. Thus 5 will be encoded in two blocks, one of 0.5 cm and the other of 0.5 cm. 4 would be encoded in a 0.5 cm block and a 0.25 cm block (4 = 1*4 + 0). Following the direction indicated by the non-square box that is stuck to a side, you can decode the text encoded in the block.

Statistics

Likes

1

Downloads

0

Category

Other