兽语加密逻辑 - Strelizia02/AngelinaBot GitHub Wiki
兽语只有四种字符,{'嗷', '呜', '啊', '~'},分别代表0, 1, 2, 3
转义过程,以hello world为例:
步骤 | - | - | - | - | - | - | - | - | - | - | - |
---|---|---|---|---|---|---|---|---|---|---|---|
原文 | h | e | l | l | o | 空格 | w | o | r | l | d |
将原文转义成ascii编码 | 104 | 101 | 108 | 108 | 111 | 32 | 119 | 111 | 114 | 108 | 100 |
将ascii编码转义成16进制字符 | 68 | 65 | 6c | 6c | 6f | 20 | 77 | 6f | 72 | 6c | 64 |
将16进制字符补全四位 | 0068 | 0065 | 006c | 006c | 006f | 0020 | 0077 | 006f | 0072 | 006c | 0064 |
然后将补全后的16进制字符串,按每个数字切分。
步骤 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 | 字符 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
转换为字符串 | 0 | 0 | 6 | 8 | 0 | 0 | 6 | 5 | 0 | 0 | 6 | c | 0 | 0 | 6 | c | 0 | 0 | 6 | f | 0 | 0 | 2 | 0 | 0 | 0 | 7 | 7 | 0 | 0 | 6 | f | 0 | 0 | 7 | 2 | 0 | 0 | 6 | c | 0 | 0 | 6 | 4 |
步骤1 | 0 | 1 | 8 | 11 | 4 | 5 | 12 | 12 | 8 | 9 | 16 | 7 | 12 | 13 | 4 | 11 | 0 | 1 | 8 | 2 | 4 | 5 | 8 | 7 | 8 | 9 | 1 | 2 | 12 | 13 | 4 | 14 | 0 | 1 | 9 | 5 | 4 | 5 | 12 | 3 | 8 | 9 | 0 | 15 |
步骤2 | 00 | 01 | 20 | 23 | 10 | 11 | 30 | 30 | 20 | 21 | 00 | 13 | 30 | 31 | 10 | 23 | 00 | 01 | 20 | 02 | 10 | 11 | 20 | 13 | 20 | 21 | 01 | 02 | 30 | 31 | 10 | 32 | 00 | 01 | 21 | 11 | 10 | 11 | 30 | 03 | 20 | 21 | 00 | 33 |
步骤3 | 嗷嗷 | 嗷呜 | 啊嗷 | 啊~ | 呜嗷 | 呜呜 | ~嗷 | ~嗷 | 啊嗷 | 啊呜 | 嗷嗷 | 呜~ | ~嗷 | ~呜 | 呜嗷 | 啊~ | 嗷嗷 | 嗷呜 | 啊嗷 | 嗷啊 | 呜嗷 | 呜呜 | 啊嗷 | 呜~ | 啊嗷 | 啊呜 | 嗷呜 | 嗷啊 | ~嗷 | ~呜 | 呜嗷 | ~啊 | 嗷嗷 | 嗷呜 | 啊呜 | 呜呜 | 呜嗷 | 呜呜 | ~嗷 | 嗷~ | 啊嗷 | 啊呜 | 嗷嗷 | ~~ |
** 步骤1:每位16进制数字转换为 (10进制数字 + 偏移量与16的余数,若大于等于16就-16)。比如第'0'位的0 = 0 + 0 % 16 = 0,第'19'位的f = 15 + 19 % 16 = 18 > 16,因此f = 18 - 16 = 2**
** 步骤2:用两个兽语字符来代表一个数字,规则为:数字 / 4 , 数字 % 4。比如0 = 0 / 4 , 0 % 4 = 00 再比如9 = 9 / 4 ,9 % 4 = 21,除不开的舍弃小数部分。**
** 步骤3: 用兽语字符来替换0123。**
最后需要加上字符头尾,兽语最前面添加'~呜嗷',最后面添加'啊'
因此hello world转换的最终结果为
呜嗷嗷嗷嗷呜啊嗷啊呜嗷呜呜嗷嗷啊嗷啊呜嗷嗷呜嗷啊呜呜嗷啊嗷嗷嗷呜啊嗷嗷啊呜嗷呜呜啊嗷呜啊嗷啊呜嗷呜嗷啊嗷呜呜嗷啊嗷嗷嗷呜啊呜呜呜呜嗷呜呜嗷嗷啊嗷啊呜嗷嗷