博客链接:https://blog.csdn.net/weixin_42914339/article/details/108966571
代码下载链接:https://download.csdn.net/download/weixin_42914339/12914875
本文只是小编的奇思妙想,并不一定有实际意义
前言
生活中总会有一些私密文件,市面上已有不少加密软件。不过也可以尝试自己进行加密,虽然简陋,但一般情况是安全的。文中要提的图片加密方法为:将图片里边特定字节替换为加密字符串。
废话不多说,先放几张效果图
一、代码思路
如前诉,程序中加密方法为:将图片里边特定字节替换为加密字符串。由于图片以16进制存储,故替换字符串也为16进制,不会显得突兀。
代码中仅是对图片数据进行了简单的字节替换,将b'\x00'替换为b'\xe2\x96\xa0'(即‘■’)。如下:
data = data.replace(b'\x00',b'\xe2\x96\xa0') #对文件替换字节(解锁/锁定)
若原data=b’\x00\x45\x12\x22\x00\x11\x33’,则替换后data=b’\xe2\x96\xa0\x45\x12\x22\xe2\x96\xa0\x11\x33’,
破坏了图像原来的数据结构,因此图像没法正常显示。
由于图片数据中不存在特殊符号,故以上使用特殊符号‘■’来加密,解密时候不会影响到原数据。
二、程序运行说明
都已经写在菜单页面了,就不用说了
另外,若想要修改程序成用户设置密码(例如123456)的形式,建议不要直接使用密码替换字符串,而使用键值方式对应存入,例如 1对应‘■’、2对应‘□’、3对应‘♦’... 然后将特殊符号转换为bytes类型进行保存。
那么问题来了,若改成用户设置密码,密码容易忘了怎么办?直接记在记事本不太安全。那就尝试隐藏一下吧。
三、隐藏密码
以下基于Bat实现:
首先准备一张用于隐藏密码的图片img.png,再新建一个password.txt输入设置的密码(前面空几行),再新建一个copy.txt输入以下代码,保存后修改后缀名为.bat并双击运行:
copy img.png /b +password.txt /b mer.png
将在目录下生成 mer.png。右键mer.png 选择记事本打开,在文件末尾即可 看到密码
注:也可不建bat,直接cmd执行命令