密码学base100
2023-6-12 01:38:33 Author: 夺旗赛小萌新(查看原文) 阅读量:11 收藏

base100是一种对称加密,特点是加密后是emoji。讲base100的文章比较少。其实也很简单,这块做一个记录。

这里拿字符'a'举例说明加密过程:

首先会根据字符的字节数,决定emoji表情个数

字符a占一个字节所以要生成一个emoji,emoji表情在utf-8编码中占4个字节

https://apps.timwhitlock.info/unicode/inspect/hex/1F3BF

初始emoji的四个字节(十六进制)如下

然后会根据输入的字符对每个emoji的后两个字节进行更改,这里拿'a'举例就会对一个初始emoji的8f和80进行更改。对第三位更改为0x8f+(97+55)/64(整除),对第四位更改为 0x80 + (97+55)%64。//97是字符a对应的十进制ascii码,也是转换成byte后的数据,dddd。

计算结果

对应的emoji是衣服

找个base64网站解码下看看对不对

题外话:

记得上大学的时候老师常说,英语字符占一个字节,汉字占两个字节(也有可能我记错了,毕竟天生记忆力比较差哈哈,汉字俩字节成了我的固有印象)。我用emoji加密“却发现输出3个emoji,这说明""这个汉字其实是占三个字节的,用python也可以证明这一点。在不同编码中汉字所占的字节数是不同的,GBK编码,一个汉字占两个字节。UTF-8编码是变长编码,通常汉字占三个字节。

总之具体问题具体分析吧,少看文章,多动手😴

base100加解密网站:www.atoolbox.net/Tool.php?Id=936


文章来源: http://mp.weixin.qq.com/s?__biz=MzkxOTI5NzY4MA==&mid=2247486030&idx=1&sn=6bf7e2469b4efe5b3a6f42c8d7b06e23&chksm=c1a501b1f6d288a7960f2ad4e647a6f8f5965fb1ea7073331ef900a0befd8c51296b38e51be7#rd
如有侵权请联系:admin#unsafe.sh