Python中MD5编码

  • python3.x已经把md5 module移除了。要想用md5得用hashlib module,以下是帮助手册中给的标准调用

# -*- coding: utf8 -*-
import hashlib
m = hashlib.md5()
#参数必须是byte类型,否则报Unicode-objects must be encoded before hashing错误
m.update(b"password")
psw = m.hexdigest()
print(psw)

'''
中文字符在Python中是以unicode存在的,同一个字符串在不同的编码体系下有不同的值,所以在hash前要进行编码,
个人建议转为gb2312,因为对比发现,我下载的一个工具算出的md5值是与gb2312编码后算出的md5值一样。
(!网上md5的工具很多,是不是所有的md5工具都是这样的,未去考证,有兴趣的可以研究一下)
'''
# import hashlib  
data='我是'  
m = hashlib.md5(data.encode(encoding='gb2312'))  
print(m.hexdigest())  
  • python2.7 下

import md5  
m = md5.new()  
m.update("Nobody inspects the spammish repetition")  
md5value=m.hexdigest()  
  • 0e开头的MD5字符串python脚本生成代码

# -*- coding: utf8 -*-
import hashlib

payload = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
#payload = "qwertyuiopasdfghjklzxcvbnm"
# payload = "0123456789"


def calcMd5(s):
	MD5 = hashlib.md5(s.encode()).hexdigest()
	if MD5[0:2] == "0e" and MD5[2:32].isdigit():
		print(s,MD5)

def getStr(payload,s,slen):
	if len(s) == slen:
		#Custom string
		calcMd5(s)
		return s	
	for j in range(len(payload)):
		sl= s+payload[j]
		getStr(payload,sl,slen)


if __name__ == '__main__':
	getStr(payload,'',9)


  • 一些OE开头的MD5字符串
纯数字类
240610708 0e462097431906509019562988736854  
314282422 0e990995504821699494520356953734  
571579406 0e972379832854295224118025748221  
903251147 0e174510503823932942361353209384  
1110242161 0e435874558488625891324861198103  
1320830526 0e912095958985483346995414060832  
1586264293 0e622743671155995737639662718498  
2302756269 0e250566888497473798724426794462  
2427435592 0e067696952328669732475498472343  
2653531602 0e877487522341544758028810610885  
3293867441 0e471001201303602543921144570260  
3295421201 0e703870333002232681239618856220  
3465814713 0e258631645650999664521705537122  
3524854780 0e507419062489887827087815735195  
3908336290 0e807624498959190415881248245271  
4011627063 0e485805687034439905938362701775  
4775635065 0e998212089946640967599450361168  
4790555361 0e643442214660994430134492464512  
5432453531 0e512318699085881630861890526097  
5579679820 0e877622011730221803461740184915  
5585393579 0e664357355382305805992765337023  
6376552501 0e165886706997482187870215578015  
7124129977 0e500007361044747804682122060876  
7197546197 0e915188576072469101457315675502  
7656486157 0e451569119711843337267091732412 
大写字母类:
QLTHNDT 0e405967825401955372549139051580  
QNKCDZO 0e830400451993494058024219903391  
EEIZDOI 0e782601363539291779881938479162  
TUFEPMC 0e839407194569345277863905212547  
UTIPEZQ 0e382098788231234954670291303879  
UYXFLOI 0e552539585246568817348686838809  
IHKFRNS 0e256160682445802696926137988570  
PJNPDWY 0e291529052894702774557631701704  
ABJIHVY 0e755264355178451322893275696586  
DQWRASX 0e742373665639232907775599582643  
DYAXWCA 0e424759758842488633464374063001  
GEGHBXL 0e248776895502908863709684713578  
GGHMVOE 0e362766013028313274586933780773  
GZECLQZ 0e537612333747236407713628225676  
NWWKITQ 0e763082070976038347657360817689  
NOOPCJF 0e818888003657176127862245791911  
MAUXXQC 0e478478466848439040434801845361  
MMHUWUV 0e701732711630150438129209816536 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ADreamClusive

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值