密码学base100

admin 2023年6月12日09:11:40评论80 views字数 709阅读2分21秒阅读模式

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

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

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

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

密码学base100

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

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

F0 9F 8F 80

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

密码学base100

计算结果

F0 9F 91 98

对应的emoji是衣服

密码学base100

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


密码学base100


题外话:

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

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

密码学base100

密码学base100

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

原文始发于微信公众号(夺旗赛小萌新):密码学base100

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月12日09:11:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   密码学base100https://cn-sec.com/archives/1798107.html

发表评论

匿名网友 填写信息