Thanks to visit codestin.com
Credit goes to github.com

Skip to content

avened/runic32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

runic32 - base32-like (RFC 4648) encoder with Anglo-Saxon runes as a base.

Similarly to base32 implementations, this tool encodes arbitrary sequence of bytes into runic string with alphabet comprising 32 runes as a (numerical) base and one rune as padding character. It can also decode (correct) runic strings back to bytes. E.g. "αš»αš³αš’αš±αš·α›’αš¦αš³" == "ABCDE".

Practicality is at least questionable, as it encodes every five bytes into eight weird symbols, each of three octets long (UTF-8), thus puffing the result up to copious 24 bytes. But this result, while remaining pretty much useless, looks great. This deeply philosophical combination justifies the method. Of course one needs a compatible console to see it.

Golang:

go build runic32.go

Examples:

$ echo "ENCODE THIS STRING TO RUNIC-BASED STRING" | ./runic32

$ echo "αš»α›αšΉαš±αš·α›—α› αš±αš»α›šα›αš³αš»α›–αš¦αšΎα›α›‡α›αš³αš·α›αš¦α›–αšΎαš³αšΉαš±α›‰αš»αš¦α›šαšΎα›£α›αš³αš±α›α›α›‰αšΎαš³αš’α›–α› α›α›–αš’α›α›ˆαš¦α›šαš»αš»αš¦α›—α›α›’αšΎαš±α›–α›—α›–αšΉαš’αš»α›₯α›₯α›₯α›₯α›₯α›₯" | ./runic32 -d

$ ./runic32 cert.der > cert.runic32
$ ./runic32 -d cert.runic32 > cert.der
 
TLS certificate (in DER) encoded with runic32 (lines wrapped at 50):

αš·αš¦αš’αš αšΎαš·αš’α›α›αš»αš¦αš©αš£αš»αš αš©αš αš»αš α›αš±αš α›α›’αš αš©αš»α›žαš©α›žα›žα›αš±α›‡α›‘α›αš£α›’α› αš«αš©α›‡α› α›ˆα›£αš’α›αš·α›ˆα›Ÿ
α›‘αš©αš αš¦α›αš·αš’αš α›αš»α›‡α›–αš·α›‰αšΉα›šαš¦αš αš·αš α›’α›α›αš·αšΉα›—αš¦αš¦αš«α›αš’αš±αš©αš αš·α›αš»αš±αš αšͺαšΎα›αš±α›’α› αš¦αš·αš±α›ˆα›—
αš αš·αš»αš·αš α›ˆα›α›αš»αš¦αš α›—αš¦αšΎαš©α›žαš±αš«α›‘αš’α›‰α›’α›–α›žαš±αš»αš¦α›ˆα›‡αš³α›žαš·αš·α› αš©αš³α›‰α›ˆα› αš·α›α›£α›’α›’αš¦αš αšͺαš α›£αš’
α›αš©α›α›šαš¦αš α›‰αš±αšͺαšΉα›α›ˆα›α›Ÿαšͺαš«α›—α›‹α›‰αšΎα›–αš©αš¦αš·αš’α›αš¦αšͺαš©αš αš·α›αš»αš±αš’αš»αšΎα›αšΈα›šαš£αš³α›‡α›ˆα› αš·α›–αš«αš£α›‹
αš±αš’αš·αš·α›–αš£α›‘αšΎα›‰α›’α›–α›Ÿαš»α›‡αšΎα›žαš·αš α› α›α›‡αš α› α›αš α›αš’α›’αš·α›‘α›–α›—α›‡α›α›’α›žαš»α› α›‘αšΉα›ˆα›£α›αš±α›α›α› αš©αš±αš’
αš¦αš·αšΈαš£α›‘αš’α›ˆαš³α›žαš¦αš α›α›—αš’α›ˆα›’α›šα›Ÿαš»αšͺα›‘α›šα›ˆαš³α›žα›Ÿα›£αš»αš¦α›—α›‡α›α›’α›žα›α›£α›—αš³αš±αš’αšΎα›Ÿα›α›£α›—α›Ÿα›‡α›αš«αš¦
αš α›α› αš’αš·αš α›‹αš’α›‰αš©αšΎα›–αš·αš αšͺαš©α›α›‡αš’α›’αš·αš αšͺαš©αš α›‡αš’α›αš·αš’α›ˆαš’α›‰αš©αšΎα›–αš·αš»αšͺαš©α›α›‡αš’α›’αš·αš»αš«α›—α›α›‰
αšΎα›αšΉαš³α›ˆαš©αš αš±α›’α›’αš¦αš αšͺαš α›£αš’α›αš©α›α›šαš¦αš αš·αš±αšͺαšΉα›‡α›’α›£αš·αš»α›€αš’α›‰α›‰αšΎα› α›—αš α›ŸαšΎα›αš¦α›‡αš©αš α›‰α›α›šαš·
αšΎαš©αšΉαš©α› αš α›αš’αš αšͺαš±αš¦α›αš’α›–αš»αš«αšͺαšΈα›αš·αš αš»αšΉαš α›ˆαš’αš αš αš’αš·αšΈα›α›žαš α›ˆα›€αš³α› αš’α›α›‹α›Ÿα›αš αš«α›—α›α›—α›£
α›’α›žαš»αš±αšΎα›Ÿα›‰αš±α›‰α›α›‘αšΎαšΎα›šαšΉαšΈαš©αšΎα› α›€αš¦αš©αšΈαš³α›šα›£α›‘α›žα›€α›‡α›–α›α›Ÿα›Ÿα›‰αš’α›žαš¦α›α›žαšΉα›‹αš³αš·α› α›Ÿα›‰α›αšͺᛉ
ᛇᛠᛇαšͺᛏαšͺα›‹α›‹α›žα› α›—α›–αšΎα›‘α›‡αšΈα›žαš»α›αš¦α›Ÿαš³αšΎα›€α›‹α›‰α›Ÿαš³αšΈα›‡α›€αšΉα›‹αš»α›£αš¦αš α›‘α› αš©αš’αš α›αš¦αšΈαš αšͺᚒᚸᚒ
α›αš©α›α›šα›‰α›–αš·αš’αš αšͺαš·αš α›‘αš»αš αš³αšΉα›Ÿα›α›šαš³αš©α›Ÿαš±α›‡αš·α›£αš±αš¦αšΉα› αš©α›α›αš’α›‡α›Ÿα›ˆαš³αš£α›Ÿα›‡α›‡α›’α›€α›žα›žα›‘α›’α›
αš©α›šαš©αš αš·α›αš»α›€αš’αšͺαš¦αš’α›‡αš’αš α›šα›€αšΉα›šα›α›‰α›£α›‘α›’αš©α› α›£αš»αšͺαš α›žαš·α›‰α›α›αš»α›‘αš£α›£α›‡α›’α›α› α›ŸαšΈα›‹α›α›’αš·αš 
αšΉαš α›‡αš α› α›αš©α›šαšΉα›αš¦αš α›‹α›’αš α›αš¦αš αš·αš α›αšΉα›αš αšͺᚠαšͺαš’α›αš©α›α›šα›‰α›’αš·αš αš»αš’α›’α›£αš¦αš αš±α›‡αš αš αš·αš α›‰α›
α›‡αš α› α›αš©α›šα›–α›αš»αš³α›’α›αš¦α›αš©αš α›α›αšͺαš·αš αš±αš¦α›α›αš’αšͺαš©αš αš±αš©αš α›α›αšͺαš·αš αš±αš¦α›α›αš’αšͺᚩᚠᚻαšͺαš±α›–αš’
α›αš©α›α›šα›‰α›–αš αš’αš¦αš¦αš·αš’αš αš©αš α›ˆαš αš·αš’α›‡α›α›α›‡αš αš»αš±αš αš·αš«αš©αš¦αš αš»αš¦αš αš»αš©α›—αš αšΎαšΎα›αš±α›‡αš©αš α›α›αšͺᚷ
αš αš±αš¦α›α›αš’αšͺαš¦αš αš±α›‘αš’α›‰α› αš©α›šα›‰α›’αšͺαšΉαš·α›‰α›’α›‹αš³α›€αš«α›Ÿα›αšͺαš£α›šα›ˆαš³α›—α›ŸαšΈα›‘α›—αš©α›ˆα›€α›Ÿα›–αšΈα›α› α›α›α›‡
αšͺαš α›αš’α›αš·α›‡αšΈαš α›αšͺᚠᚻᚦᚠᚱαšͺαš»αš©αš’αš αš·αš’αš α›α›α›‡αš αš»αš³αš α›šαš©α›αš¦αš αš»αš±α›‹αš αšͺαšΉα›‡α›‡αš¦α›‹αš αšͺᚱᚦ
α›Ÿαš’α›αš’αš α›šαš¦α›α›‰α›‡αš αš¦α›αš«αš’α›Ÿα›α›€αš©α›šα›‰αš α›€αš¦αšΈα›‘αš£αš©α›‰αšΎα› αš¦α›£α›£αš£αš³α›‡α›ˆα› αš·α›–αš«αš£α›‹αš³αš«α›’α›ŸαšΈαš£
αšΎα›‹α›α›ˆα›–α›Ÿαš·α›€αš©αšΎα›‡α›€α›žα›šα›α›α› αš©αš»α›’α›žα›Ÿα› αšͺα›‘αšΎα›ˆαš«α›‘αš·αš¦αš£αš©αšΎα›‡α›’α›α›žαš»α› α›‘α›‹α›ˆαš«αšΎα›Ÿα›αšͺαš£α›
α›‰αšΎα›–α›αš·αš«α›‘α›–α›‰αš«α›–α›žαš±α›α› αš’αš³αš«α›’α›žαš±α›€αš’α›αš±α›‡αš©αš α›α›αšͺαš·αš αš±αš¦α›α›αš’αš«α›αš αš·αš©αš’α›‰α› αš©α›šα›‰α›’
αšͺαš©α›šα›‘αš«α›‹α›ˆα›€α›’α›žαš·α›£αš’α›‰α›‰α›ˆα›–α›Ÿαš·α›€αš©αšΎα›‡α›€α›žα›–α›£αšͺαš£α›‹α›ˆα›šαšͺαš’αšΈαš’α›αš©α›α›šα›‰α›’αš¦αš’αš αšͺαš·αš α›‘αš»
αš±αš’αš£αš±α›‹αš’α›–αšΉαš»α›‘α›—α›–α›‰α›Ÿαš’αš α›Ÿα›€αš£α›žα›‰α›£α›žαš·αš»αšΈαš©αš±α›‰α›α›žαšΉαš±α›€αšΎα›α›αš»αš α›žαšͺαš’α›α›αš³α›‡αš©αš αš¦αš’
αš αš’α› αš«α›£α›αš±αš’αš αš¦αš α›–αš’αš αš¦αš£αš αš±α›αš»αš α›Ÿα›αš α›‘αš·αš αš’α› α›αš α›’α›αš³α›α›žα›α›žα›‘αšΈα›šα›’αš±αš αšͺα›‘α›‘αš»α›šαšΎ
α›ˆαšΉα› α›‹αš·α›’αš»α›’αš³α›’αš α›žαšΎα›‹α›žα›€αšΎαš·α›£αš»α›‘α›α›’α›–α›’α›’αšͺα›‹α›£αš£α›αšΉαš αš αš αš αš¦α›£α›€αšΎαšΉα›žα›Ÿα›€α›‰αš αš αš αš α›
αš’α›αš α›’α›’α›αš»α›αš’αš¦αš α›ˆα›α›€α›€αš·α›α›‰α›‘α›—αš·αš¦αšΈα›αš³αšΈαš£α› α›–α›‰αšͺαš»α› α›žα›‰α›ˆα›šαš·αš£α›žαš·α›αš©α›Ÿαš³αšΉα›–α›–α›α›‹
α›–α›£αš³α›’α›‰αšΈαšΉαš·α›’αšΎα›‡αš©αš αš»α›αš·α›Ÿαšͺα›α›αšΈα›‘α›α›αšΈαš³α›žα›‘α›ˆαš»α›—α›’αšͺα›Ÿαš»α›–αš α›α›‹α›αš’α› α› αšͺα›α›šαš±αš³α›α›‘
α›Ÿα›αš«αš»αš³α›’α›‘αš±αš·α›αš»α›‹α›’αš»αšΉα› αšͺαš α›‰α›šαš α›ˆα›’αšΎα›αšΈα›α›ˆα›šαš»αš±α›—αšͺα›’α›ˆα›–α›ŸαšΈα›€α›‰αš¦α›’αšΎαšͺα›’αš³α›α› α›Ÿα›ˆ
α›šαš»αšΎα›αš»α› α›–αšΈα›’αšͺα›€α›’αš³α›αš’αš αš»α›’α›‰αš¦α›šα›£αšͺαš αš αš αš α›žαšΉα›αšΎα›€α›€αšͺαš©αš αš αš αš αš±αš α›‡αš αš±α›‡α›‡αš¦αš±αš αš»
α›αš¦α›α›‡αš’α›£α›’α›αš«α›€α›α›šα›–α›–αšΈαš α›Ÿα›‘α›—α›‡αšͺα›–αš£α›‘αšΈαš£α›’α›£α›‰α›‰α›α›£α›’α›šα›žα›’αšΈα› α› αš©α›α›α›—α›€αš¦α›‹αšΎα›£αš¦α›Ÿ
αš©α›žα›αš¦αš±αš’α›‘α›€α›–αš£αš±α›Ÿα›‡αš»α›α›‘α›£αš¦α›—α›€αš·αš©α›α›‰α›£αš¦α›‰α›‹α›’α›€αš³αš«αšΉα› α› α›–α›ˆα›‹α›‰α›’α› αš³α›‰αš©α›–α›—αš«α›—α›’α›‰
αšͺα›žα›αš αšΎαš©αš¦αš αš©α›Ÿαš αš’α›žα›αš·α›€α›α›‡αš·αšΉαšͺαš©αš¦αš·α›‰αšͺα›—αš±αš α›αš»α›šαš»α›α›’α›€αš£α›’α›αšΉαš α›’αš£αš±αš’α›‡αš¦αš αš’αšΎ
αš α› αš·αš£αš±αš¦αš±α› αš·α›’α›‡α›’αš·αš αš αš αš αš³αš«α› α›–α›‹α›‹α›ˆα› α›£αš αš αš αš’αš αš©αš αš’αš©α›—αš α›’αš»αš¦αš±αš α›‰α›£α›žα›€α›‰αš«α›‡α›€
α›ˆα›‰α›€α›‰α›‹α›ˆαš’α› αš©α›£α›αš’α›£α›’α›‘αšΉαš±αšΉα›–α›Ÿαš¦α›α›’αšΈα› α›‡αš»α›–αšΉα›Ÿαš·αšΎα›žα›’α›’αš’α›‰αš£α›ˆα›αš¦α›—α›šαš α›’αš’αš αš©αšΉα›š
α›‹α›α›αš©αš·αš»α›’α›–α›α›€α›α›‡αšΈα›‡α›ˆα›α›£α›£αš³α›’αš»α›‘αš©αšΎα›£α›’α›‡α›‹α›žαš«α›‡α›žα›šαš«α›‹αšΎαšΈαš³α›αš·αš·αš±α›α›α›—α›€α›—α›€α›α›‡
αš α›αš αšͺαš±αš¦α›αš’α›–αš»αš«αšͺαšΈα›αš»αš αšͺαš¦αš α›ˆαš±α›αš α›‡αš¦αš·αš αš»α›α›αš’αš±αšΉαš’αš³αš’αšΎα›‰α›Ÿα› α›–α›ˆα›’α›žαš¦α›’αšΎα›α›–αš¦
αš±α›‡α›’α›Ÿα›‡αš α›‹α›šαšΉα›šα›’αš»αš«α›€α›žαš£α›–α›’αš«α›‰α›α›’α› α›‰α›α›ˆα›—αš©α›α›£α›ˆα›αš αš»α›α›αš’αš©α›‹αšΈαšͺαš¦α›’α›šα›’α›α›—α›’αšΈαš£
α›’α›‘α› α›‰α›—α›‰α›žα›€αš£α›žαš£αš α›‡α›—α›α›‡α›‘α›ŸαšͺᛒᛝαšͺαšΉαš±α›ˆα›šαšΎαš’αš·αš’α›ˆαš¦α›Ÿα›Ÿαš£α›£α›‡α›—

To view it: 
$ ./runic32 -d certificate.runic32 | openssl x509 -inform der -text -noout

About

Base32-like with Anglo-Saxon runes as alphabet (Unicode).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages