base64隐写脚本python3
时间: 2023-11-16 10:53:25 浏览: 117
你可以使用Python 3中的base64库来进行base64隐写。下面是一个示例脚本,可以将文本隐藏在图片中:
```python
import base64
from PIL import Image
def hide_text_in_image(image_path, text):
# 打开图片
image = Image.open(image_path)
# 将文本编码为base64
encoded_text = base64.b64encode(text.encode())
# 将base64编码的文本转换为字符串
encoded_text_str = encoded_text.decode()
# 将文本隐藏在图片的像素值中
pixels = list(image.getdata())
pixels_with_text = [(r, g, int(encoded_text_str[i])) for i, (r, g, b) in enumerate(pixels)]
# 生成新的图片
new_image = Image.new(image.mode, image.size)
new_image.putdata(pixels_with_text)
# 保存新图片
new_image.save('encoded_image.png')
print("文本已成功隐藏在图片中!")
def extract_text_from_image(image_path):
# 打开图片
image = Image.open(image_path)
# 获取所有像素值
pixels = list(image.getdata())
# 提取隐藏的文本
encoded_text_str = ''.join([str(b)[-1] for (r, g, b) in pixels])
# 将字符串解码为base64
encoded_text = bytes.fromhex(hex(int(encoded_text_str, 2))[2:]).decode()
# 解码base64并输出文本
decoded_text = base64.b64decode(encoded_text).decode()
print("提取的文本为:", decoded_text)
# 隐藏文本
hide_text_in_image('image.png', '这是一个秘密!')
# 提取文本
extract_text_from_image('encoded_image.png')
```
请注意,这只是一个基本示例,实际应用中可能需要更复杂的技术来隐藏和提取文本。同时,请确保在运行脚本之前已经安装了`Pillow`库,可以通过`pip install Pillow`命令进行安装。
阅读全文