# MD5 加密后的位数一般为两种,32 位,与16位 ,由0~9位a~f组成
# 16 位实际上是从 32 位字符串中,取中间的第 9 位到第 24 位的部分
from hashlib import md5
str = 'abcde'
md = md5()
md.update(str.encode())
sign1 = md.hexdigest() # ab56b4d92b40713acc5af89985d4b786 32
sign2 = md5(str.encode(encoding='utf8')).hexdigest() # ab56b4d92b40713acc5af89985d4b786 32
sign3 = md5(str.encode(encoding='utf8')).hexdigest().upper() # AB56B4D92B40713ACC5AF89985D4B786 32
sign4 = md5(str.encode(encoding='utf8')).hexdigest()[8:-8].upper() # 2B40713ACC5AF899 16
sign5 = md5(str.encode(encoding='utf8')).hexdigest().lower() # ab56b4d92b40713acc5af89985d4b786 32
sign6 = md5(str.encode(encoding='utf8')).hexdigest()[8:-8].lower() # 2b40713acc5af899 16