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

本文介绍了一种使用Python实现的简单图片加密方法,通过替换图片字节来达到加密效果,使图片无法正常显示。作者还探讨了如何隐藏密码在图片中,利用 Bat 脚本将密码嵌入图片,提供了一种安全存储密码的方式。此外,文章建议将密码转换为特殊符号的键值对应,以增强安全性。
摘要由CSDN通过智能技术生成

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值