图片文件加密与解密(基于Python实现)

    科技2026-02-09  3

    博客链接: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执行命令

     

    Processed: 0.018, SQL: 9