忘了上次在哪里看到有人问有没有明文到明文加密的软件,试着做了一个,可以用于加密聊天内容。
算法很简单,加密后的 base64 重新映射到 65 个古诗文高频字,让加密后的内容看起来像诗文 ;)
1
whileFalse 2018-08-10 09:03:43 +08:00 1
|
2
ziding 2018-08-10 09:03:47 +08:00 2
扛不住基于频率的分析……
|
3
laoyur 2018-08-10 09:13:21 +08:00
加点标点符号会更好?
|
4
AstroProfundis 2018-08-10 09:16:51 +08:00
这叫混淆,不叫加密
|
5
wizardforcel 2018-08-10 09:17:43 +08:00 via Android
那不就是隐写嘛。。
|
6
3CH0 2018-08-10 09:21:09 +08:00 1
|
7
zmj1316 2018-08-10 09:36:44 +08:00
不就是以前 A 站很流行的 佛曰 么
|
8
zhuanzh 2018-08-10 09:38:56 +08:00 via Android
有一说一,这个还是算加密的。利用的古典替换加密算法。类似凯撒加密。
|
9
Greenm 2018-08-10 10:03:59 +08:00
按照现代密码学的理论,base64 不算加密,算编码,当然你换个映射的也一样。
|
10
imn1 2018-08-10 10:32:47 +08:00
加密和编码完全是两个概念,指的是两件事
「编码」指的是一次性,用公开映射表,进行字符转换的过程 凡是使用不可知映射表的映射转换,或者不可知次数,都算「加密」,所以「加密」实际上是个结果论式概念 用公开的 base64 是编码,因为这时「 base64 」是个专有名词,它就是特指一种编码方式 但如果是自制的「 base64 」码表,或者未知编码次数的 base64,也是加密,只是这时「 base64 」指的是「类 base64 方法」,并非一个专有名词 换句话说,全程使用公开的编码方式,也可以构成「加密」,只要过程仅为通信双方可知就行 例如多次、不同的 unicode 转换(gbk/big5/utf8/utf16le/utf16be/latin1 混用),再 base64 也能加密,只是比较容易识破而已 |
11
laoyur 2018-08-10 10:40:34 +08:00
你们去楼主网站看过没啊,需要事先自己设定密码的,密文再 base64 映射
这特么还不算加密? |
12
richard1122 2018-08-10 11:42:34 +08:00
这个主要还是看加密那一步用什么算法吧
|
13
justmd OP @richard1122 加密用的经典的一个对称加密算法,第三方库提供,不值一提,选择算法没有太多考虑加密强度,主要就是看看 padding 不要太多,否则很短的原文,密文太长不好看。
|
14
justmd OP @laoyur 标点符号我还真考虑了一下,用户得到密文后,可以随意添加标点符合,任意位置都可以,实际上不仅标点,只要不是 65 个映射符合,都可以随便加,让密文更有趣一些,也不会影响解密。
|
15
whypool 2018-08-10 14:14:45 +08:00
有木有源码?
|
16
vjnjc 2018-08-10 15:16:43 +08:00
发现一楼那个又接地气~
|
17
nekoneko 2018-08-10 16:07:18 +08:00
@whileFalse 牛逼了这个
|
18
huahuajun9527 2018-08-10 16:09:34 +08:00
|