摘要: Python工具箱系列(十七) 很多软件工程师都认为MD5是一种加密算法,然而这种观点是不对的。作为一个 1992 年第一次被公开的算法,到今天为止已经被发现了一些致命的漏洞。本文讨论MD5在密码保存方面的一些问题。 阅读全文
posted @ 2022-11-30 11:14 西安衍舆航天 阅读(121) 评论(0) 推荐(0) 编辑
摘要: Python工具箱系列(十六) 前面介绍了对称加密算法,本文将介绍密码学中另一类重要应用:消息摘要(Digest),什么是消息摘要?简单的定义是:对一份数据,进行一个单向的Hash函数,生成一个固定长度的Hash值,这个值就是这份数据的摘要,也称为指纹。 阅读全文
posted @ 2022-11-29 15:36 西安衍舆航天 阅读(107) 评论(0) 推荐(0) 编辑
摘要: Python工具箱系列(十五) 前文讲述加解密时,直接将密钥写在了python源代码中,这肯定不是什么好的手法。应该将这类与代码加功效无关的信息保存到配置中,随时可以需要进行修改。 阅读全文
posted @ 2022-11-22 11:17 西安衍舆航天 阅读(139) 评论(0) 推荐(0) 编辑
摘要: Python工具箱系列(十四) 上文介绍了命令行方式来对文件进行加解密操作。本文将继续在此基础上,实现一个快速简易的GUI界面方便操作,先上代码看效果。 阅读全文
posted @ 2022-11-17 11:30 西安衍舆航天 阅读(168) 评论(0) 推荐(1) 编辑
摘要: Python工具箱系列(十三) 如果在代码中写死了(hardcode)文件名,每次要加解密文件都要去改python源代码,显然有些太笨了。为此,可以使用命令行参数来在不改动源代码的情况下,对命令行参数所指定的文件进行加/解密操作。也可以指定加解密后输出的文件名称,以方便使用。 阅读全文
posted @ 2022-11-08 15:49 西安衍舆航天 阅读(113) 评论(0) 推荐(0) 编辑
摘要: Python工具箱系列(十二) 在计算机世界里只有二进制。唯有人类才会对数据进行类型与价值判断。例如,认为某些文件是文本文件、是WORD/EXCEL文件或者是图片。对于加密算法来说也是一样的,加解密算法处理的只是字节流,根本不关心所谓的文件类型。 阅读全文
posted @ 2022-11-07 16:29 西安衍舆航天 阅读(114) 评论(0) 推荐(0) 编辑
摘要: Python工具箱系列(十一) 上文讲的古典加密算法虽然很简单,但是在密码史上是使用最久的加密方式。历史上由于算力有限,加上有学识的人有限,所以直到概率论出现后,古典密码才开始破防。归根结底,英文单词中字母出现的频率是不同的,e以12.702%的百分比占比最高,z只占到0.074%,感兴趣的同学可以去百科查字母频率详细统计数据。如果密文数量足够大,仅仅采用频度分析法就可以破解。如果再加上现代计算机强大的算力,凯撒加密算法更是不堪一击。 阅读全文
posted @ 2022-11-07 10:32 西安衍舆航天 阅读(218) 评论(0) 推荐(0) 编辑
摘要: Python工具箱系列(十) 本系列文章不讲解python的基本语法,本着实用主义的角度来解决问题。如前文所述,首先要建立一个字母表,接着实现一个对字母表的移位。 阅读全文
posted @ 2022-10-18 16:17 西安衍舆航天 阅读(74) 评论(0) 推荐(0) 编辑
摘要: Python工具箱系列(九) 在实际应用时,密钥其实就是位移的个数。但这个数据规模在过去人类没有计算机的时代,靠人类有限的脑力与经验,确实很难猜出来,所以,移位密码是非常经典的算法。直到现在也可以用来进行简单的加解密,一般人不明就里,也就很难猜出其中的规律。但是,在现代计算机高科技面前,这种密码却不堪一击,只能算是玩具性质的益智游戏罢了。 阅读全文
posted @ 2022-10-11 10:46 西安衍舆航天 阅读(146) 评论(0) 推荐(0) 编辑
摘要: Python工具箱系列(八) 此外,也有许多人热衷于给VSCode换个主题,换个色彩与字体等。Python的奥义之一就是尽一切可能避免浪费时间,笔者建议还是简洁为上。 下一期我们讨论最基本的密码学知识,以便后期开发时理解Git/Https等更复杂的概念。 阅读全文
posted @ 2022-10-08 10:57 西安衍舆航天 阅读(208) 评论(0) 推荐(0) 编辑