python凯撒加密图片

欢迎加入我们卧虎藏龙的python讨论qq群:729683466

之前有朋友在群里问凯撒密码

询问如何用凯撒密码加密文件

几天,就用图片加密给大家演示一下

如何给图像进行加密

对图像的每个像素点进行数学处理

快来看看吧

 1:关注“python趣味爱好者”公众号,回复“图片加密”获取源代码

2:加入群聊:729683466。在群文件中下载源代码以及相关资料。

设置的加密权值较小,还是可以看出来,加密权值大一点就不会有这种情况

python凯撒加密图片_第1张图片

python3.6.4

pygame,PIL

__main__用法大揭秘

python《赤龙戏珠》小游戏

先讲一讲原理吧!大家都知道,对图像进行加密,就是对图片的像素点读取出来,组成一个序列,然后得到了数字以后,就是我们的强项了。

彩色图片是三维数组,我们的原理就是,像素点的范围是0--255。我们根据密码,将像素点的数字大小增大。

而我们的密码是输入的各种字符,转化为ASCII码,然后等比例乘密码强度,然后才是真正的可以使用的密码。

其中ord函数就是将字符转化为ASCII码

我举一个加密的例子

一个明文[23,65,7,3,45,69,123,45,65]

密码是[3,7,5]

那么加密后暗文应该是[23+3,65+7,7+5,3+3,45+7,......]。

解密的时候相反,将+变成-就行了。

这时候,有的同学可能会问,如果加密后的数字大于255怎么办。

其实很简单,如果加密后的数字是295.那么我们就去255的余数。295%255=45。

然后把45存储到新的列表里面就行。

python凯撒加密图片_第2张图片

这样以后,你的图片甚至可以转化为txt文件,用数字字符存储起来。

如果以后需要转化为图片,可以用python读取这些字符。

下面看一看加密后的数组如何转化为图片。

很简单,只需要三行代码,不但可以显示图片,还可以存储起来。

im3=Image.fromarray(np.uint8(new_array))
im3.show()
im3.save('flag.jpg')

new_array就是我们加密过的图片

flag.jpg就是我们要保存的图片。

话说

当然,如果仅仅是会加密是肯定不行的

不过我相信,咱们的小伙伴那么聪明

肯定有解密的方法,也知道如何拓展

比如说,视频就是由一帧一帧图片组成的

我们知道了原理

当然也可以对视频进行加密。

作者|齐

编辑|齐

感谢大家观看

有钱的老板可打赏一下小编哦

图片来源:《虹猫蓝兔七侠传》

你可能感兴趣的:(python凯撒加密图片)