python进行隐藏编写_【Python学习笔记】图片中隐藏信息——图片隐写术

本文介绍了如何使用Python进行图片隐写术,通过修改图片像素的最低位来隐藏信息。主要内容包括原理解析、隐藏和解密信息的步骤,以及提供了一段源代码示例,演示了如何将字符串编码到图片中以及从图片中解码出隐藏信息。
摘要由CSDN通过智能技术生成

主要原理:

图片是由一个个像素组成的。每个像素由一组(r,g,b)值表示(png格式图片,多一个alpha透明度值)。而对于单个r,g或b,其范围在0~255之间,可由一个字节(8位表示)。因此,当改变最低位的值时,对于整个图片来说,其视觉效果通过肉眼看不出来的。比如一组颜色白色(255,255,255),变为(254,255,255)时,是看不出来变化的。

因此,可将一组待隐藏信息转换为二进制后,再将每个二进制码存储在图片的像素中。

72f0d0953ca4

原图片.png

72f0d0953ca4

隐藏有信息后的图片.png

实现步骤

加密

获取原图片像素(list)

使像素最低位变为偶数

待隐藏信息转换为二进制,并且对于单字节字符,当位数不够8时,在最高位补0

将二进制的待隐藏信息依次与图片中每个像素的r、g、b进行相加

解密

获取隐藏有信息的图片的像素(list)

获取像素值的最低位(隐藏的信息存储位置)

获取存储的信息的二进制值

按每8位为一组,将上述二进制转换为十进制形式

采用chr函数,将十进制转为字符并存储到字符串中

源码

# -*- coding:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值