python之md5使用

python 复制代码
import hashlib

if __name__ == "__main__":
    data = ["3295c76acbf4caaed33c36b1b5fc2cb1", "26657d5ff9020d2abefe558796b99584", "73278a4a86960eeb576a8fd4c9ec6997", "ec8956637a99787bd197eacd77acce5e", "e2c420d928d4bf8ce0ff2ec19b371514", "43ec517d68b6edd3015b3edc9a11367b", "ea5d2f1c4608232e07d3aa3d998e5135", "c8ffe9a587b126f152ed3d89a146b445", "f457c545a9ded88f18ecee47145a72c0", "072b030ba126b2f4b2374f342be9ed44", "c9e1074f5b3f9fc8ea15d152add07294", "c9e1074f5b3f9fc8ea15d152add07294", "03afdbd66e7929b125f8597834fa83a4", "03afdbd66e7929b125f8597834fa83a4", "c9e1074f5b3f9fc8ea15d152add07294", "a97da629b098b75c294dffdc3e463904", "7f39f8317fbdb1988ef4c628eba02591", "7f6ffaa6bb0b408017b62254211691b5", "7f6ffaa6bb0b408017b62254211691b5", "5ef059938ba799aaa845e1c2e8a762bd", "f7177163c833dff4b38fc8d2872f1ec6", "9f61408e3afb633e50cdf1b20de6f466",
            "e369853df766fa44e1ed0ff613f563bd", "182be0c5cdcd5072bb1864cdee4d3d6e", "069059b7ef840f0c74a814ec9237b6ec", "c8ffe9a587b126f152ed3d89a146b445", "b53b3a3d6ab90ce0268229151c9bde11", "4c56ff4ce4aaf9573aa5dff913df997a", "f7177163c833dff4b38fc8d2872f1ec6", "19ca14e7ea6328a42e0eb13d585e4c22", "ec5decca5ed3d6b8079e2e7e7bacc9f2", "c0c7c76d30bd3dcaefc96f40275bdc0a", "3295c76acbf4caaed33c36b1b5fc2cb1", "a3f390d88e4c41f2747bfa2f1b5f87db", "98f13708210194c475687be6106a3b84", "4e732ced3463d06de0ca9a15b6153677", "ea5d2f1c4608232e07d3aa3d998e5135", "6f4922f45568161a8cdf4ad2299f6d23", "98f13708210194c475687be6106a3b84", "c16a5320fa475530d9583c34fd356ef5", "6ea9ab1baa0efb9e19094440c317e21b", "6ea9ab1baa0efb9e19094440c317e21b", "6f4922f45568161a8cdf4ad2299f6d23", "d1fe173d08e959397adf34b1d77e88d7", "43ec517d68b6edd3015b3edc9a11367b"]
    flag=[i for i in range(45)]
    for i in range(45):
        for j in range(0, 256):
            a_md5 = hashlib.md5()
            a = str(j ^ i)
            a_md5.update(a.encode('utf-8'))
            xor_result = a_md5.hexdigest()
            # print(xor_result)
            if data[i] == xor_result:
                flag[i] = chr(j)
                break
    for element in flag:
        print(element, end='')

模块:hashlib

先将md5的text转换成字符串:a = str(j ^ i)

生成md5对象a_md5:a_md5 = hashlib.md5()

更新字符串,编码成utf-8(字节形式表示):a_md5.update(a.encode('utf-8'))

md5对象生成16进制的md5值:xor_result = a_md5.hexdigest()

相关推荐
鸡鸭扣44 分钟前
Docker:3、在VSCode上安装并运行python程序或JavaScript程序
运维·vscode·python·docker·容器·js
shuair44 分钟前
idea 2023.3.7常用插件
java·ide·intellij-idea
paterWang1 小时前
基于 Python 和 OpenCV 的酒店客房入侵检测系统设计与实现
开发语言·python·opencv
小安同学iter1 小时前
使用Maven将Web应用打包并部署到Tomcat服务器运行
java·tomcat·maven
Yvonne9781 小时前
创建三个节点
java·大数据
东方佑1 小时前
使用Python和OpenCV实现图像像素压缩与解压
开发语言·python·opencv
我真不会起名字啊2 小时前
“深入浅出”系列之杂谈篇:(3)Qt5和Qt6该学哪个?
开发语言·qt
神秘_博士2 小时前
自制AirTag,支持安卓/鸿蒙/PC/Home Assistant,无需拥有iPhone
arm开发·python·物联网·flutter·docker·gitee
laimaxgg2 小时前
Qt常用控件之单选按钮QRadioButton
开发语言·c++·qt·ui·qt5
水瓶丫头站住2 小时前
Qt的QStackedWidget样式设置
开发语言·qt