隐写术具体实现

  第一次写博客,好激动,拿一个最简单的隐写术来谈一下。

  步骤:

1.选择一张用来隐藏文件的图片。如下图中的1.jpg,那个女的是周二珂,长得还是不错的。


2.然后,我们建立一个机密文档secret.txt。



3.然后里面的内容嘛,我在开玩笑啦,没什么机密,然后将文档压缩成.zip包。




4.然后启动终端,先复制出2.jpg,文档就藏在它里面,然后cat  1>>2,是将1追加到2的后面。



5.最后,删掉多余的,留下2.jpg,打开看一下漂亮的周二珂,然后将2.jpg重命名为2.jpg.zip,再双击打开就可以看到机密文档啦。





  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Python中,可以使用OpenCV库来实现LSB隐写术。LSB隐写术是一种图像隐写术技术,通过将每个像素的最低有效位替换为要隐藏的消息位来将消息隐藏在图像中。 具体实现原理如下: 1. 将要隐藏的消息转换为二进制码。 2. 将图像的RGB值转换为二进制码。 3. 将消息的二进制码逐位替换到图像的RGB值的最低有效位中。 4. 将修改后的RGB值重新转换回整数值。 5. 将修改后的RGB值重新写回图像。 下面是一个示例代码,演示了如何在Python中实现LSB隐写术: ```python import cv2 def hide_message(image_path, message): image = cv2.imread(image_path) binary_message = ''.join(format(ord(char), '08b') for char in message) index = 0 for row in image: for pixel in row: # 获取像素的RGB值 red, green, blue = pixel[0], pixel[1], pixel[2] # 将RGB值转换为二进制码 red_binary = format(red, '08b') green_binary = format(green, '08b') blue_binary = format(blue, '08b') # 将消息的二进制码逐位替换到RGB值的最低有效位中 if index < len(binary_message): red_binary = red_binary[:-1] + binary_message[index] index += 1 if index < len(binary_message): green_binary = green_binary[:-1] + binary_message[index] index += 1 if index < len(binary_message): blue_binary = blue_binary[:-1] + binary_message[index] index += 1 # 将修改后的二进制码转换为整数值 red = int(red_binary, 2) green = int(green_binary, 2) blue = int(blue_binary, 2) # 更新像素的RGB值 pixel[0], pixel[1], pixel[2] = red, green, blue # 保存修改后的图像 cv2.imwrite("output_image.png", image) # 调用示例 hide_message("input_image.png", "Hello World!") ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值