二、运用到《网络安全》的相关知识
- 密码学基础:使用了加密算法Fernet来对文件进行加密和解密操作。Fernet是基于对称密钥的加密算法,它提供了对称加密的功能,确保了数据在传输和存储过程中的安全性。
- 密码处理:代码中对输入的密码进行了长度检查,并且使用base64进行密钥的生成。这些操作都是密码学中常见的处理方式,以确保密码的有效性和安全性。
- 用户界面:通过Tkinter库创建了一个简单的图形用户界面(GUI),使得用户可以方便地选择要加密或解密的文件,并输入相应的密码。
- 异常处理:代码中包含了对加密和解密过程中可能出现的异常情况的处理,这是信息安全中重要的一部分,以确保系统的稳定性和安全性。
三、代码实现的界面:
(1)要加密的文件
(2)加解密程序界面
(3)输入密码并加密成功
(4)输入密钥,进行解密文档
四、合理化优化
考虑到输入密码时,128位密钥显然不符合显示使用的需要,程序使用了cryptography.fernet
库中的Fernet
类来进行文件的加密和解密操作。在生成密钥的过程中,确实需要输入一个足够长度的密码(至少8个字符),而不是直接使用128位密钥。
Fernet
类内部会根据输入的密码自动生成一个对应的128位密钥。这个过程涉及到密码的盐值(salt)和密钥派生函数(如PBKDF2)。具体来说,Fernet
类会将输入的密码与一个随机生成的盐值进行组合,然后通过密钥派生函数进行迭代计算,最终生成一个128位的密钥。
这种设计使得用户无需直接处理复杂的128位密钥,而是只需要记住一个相对简单、易于记忆的密码即可。同时,由于盐值的存在,即使相同的密码也会生成不同的密钥,增加了加密的安全性。
因此,虽然用户输入的密码可能较短,但通过Fernet
类的密钥生成过程,最终得到的密钥仍然是128位的,符合Fernet加密算法的要求。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中…(img-e6kPRDqs-1712694519152)]