下载文件后打开
image_list.py
# -*- coding = utf-8 -*-
# @software:PyCharm
from PIL import Image
image = Image.open('flag.png') #flag.png分辨率为33*33
width = image.width
height = image.height
image_list = []
for x in range(height):
scanline_list = []
for y in range(width):
pixel = image.getpixel((y, x))
scanline_list.append(pixel)
image_list.append(scanline_list)
print(image_list)
大概意思就是把图片像素转成列表保存起来
import ast
from PIL import Image
def image_list_to_image(image_list, width, height):
# 创建新的空白图像
image = Image.new('RGB', (width, height))
# 遍历image_list,并将像素设置到图像中
for y in range(height):
for x in range(width):
pixel = image_list[y][x] # 获取当前像素值
image.putpixel((x, y), pixel) # 设置像素值到图像中
return image
width = 33
height = 33
with open('C:\\Users\\Desktop\\polar\\0和255\\image_list.txt','r') as file:
content = file.read()
image_list = ast.literal_eval(content) #把文件内容转成对应的列表
image = image_list_to_image(image_list, width, height)
image.show() #展示图片
image.save('C:\\Users\\Desktop\\polar\\0和255\\output.png')
运行后得到一张二维码,放进二维码工具,得到字符串
flag为Polar_Night的md5值
对Polar_Night进行md5
import hashlib
str = 'Polar_Night'
print((hashlib.md5(str.encode('utf-8'))).hexdigest())