印象笔记推出Markdown功能之后我激动了很长一段时间,我以为自己可以抛弃富文本了,但是印象笔记的Markdown笔记书写页面真的不是很好看,另外在排版方面我觉得自己是在缺少技巧,导致写出来的文章版面很丑,所以我只有有时候使用印象笔记的Markdown功能,一直想找到一款比较能够吸引我的Markdown编辑器,但是一直找不到。
直到今天,认识了一款很酷的编辑器——小书匠,他的界面看起来很文艺、很简洁、很有气质。现在还不是很了解,很期待发现更多,心情很不错,终于可以快乐的写作了。
印象笔记推出Markdown功能之后我激动了很长一段时间,我以为自己可以抛弃富文本了,但是印象笔记的Markdown笔记书写页面真的不是很好看,另外在排版方面我觉得自己是在缺少技巧,导致写出来的文章版面很丑,所以我只有有时候使用印象笔记的Markdown功能,一直想找到一款比较能够吸引我的Markdown编辑器,但是一直找不到。
直到今天,认识了一款很酷的编辑器——小书匠,他的界面看起来很文艺、很简洁、很有气质。现在还不是很了解,很期待发现更多,心情很不错,终于可以快乐的写作了。
序列密码又称流密码,原理是明文流和密钥流按顺序逐位异或运算,从而产出密文流,序列密码属于对合运算。
以下是典型的序列密码RC4的加解密算法实现。其中秘钥流产生算法由RSA和PRGA两个核心子算法组成。
最近在备考软考信息安全工程师,学习到密码学部分,为了记忆更加深刻,将已经掌握并且觉得比较有趣的密码算法用Python来实现,简单记录一下。
古典密码接触到置换密码、代替密码和代数密码三种,其中置换密码相对简单,靠眼睛就可以完成加解密,所以没有必要实现了,代替密码主要有加法密码、乘法密码和仿射密码,仿射密码研究的是Vigenre密码,该密码是16世纪法国密码学家Vigenre使用过的密码,代数密码研究的是Vernam密码,该密码是美国电话电报公司的Gillbert Vernam在1917年为电报通信设计的一种非常方便的密码(我最喜欢这组密码)。
1 | # coding:utf-8 |
以上代码的执行结果:
1 | 输入的明文字符串为:ABCDEF |
加法密码比较简单,加解密过程既可以通过公式计算实现,也可以使用查表的方式获得,代码中解密过程就分别使用了加密逆运算和查表两种思路来实现。