Bootstrap

python使用正则验证是否是md5加密格式

        MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。

1、生成md5格式

示例代码:

import hashlib


def computeMD5(message):
    m = hashlib.md5()
    m.update(message.encode(encoding='utf-8'))
    return m.hexdigest()


str = 'this is a md5 Test.'
print(computeMD5(str))

运行效果:

2、验证是否是md5格式

        md5 只是一个 32 位十六进制数字的字符串,可以添加到表达式中的只是检查“32 位数字”。

示例代码:

import hashlib
import re


def computeMD5(message):
    m = hashlib.md5()
    m.update(message.encode(encoding='utf-8'))
    return m.hexdigest()


str = 'this is a md5 Test.'
ret = computeMD5(str)
print(len(ret), ret)

# 使用正则验证是否为md5格式
res = re.findall(r"([a-fA-F\d]{32})", ret)
print(res)

# 注意:md5加密后除了是16进制表示外,长度还是32
if re.findall(r"([a-fA-F\d]{32})", ret) and len(ret) == 32:
    print(f"{ret}是md5加密的格式!")
else:
    print(f"{ret}不是md5加密的格式!")

ret2 = ret + 'aa'
if re.findall(r"([a-fA-F\d]{32})", ret2) and len(ret2) == 32:
    print(f"{ret2}是md5加密的格式!")
else:
    print(f"{ret2}不是md5加密的格式!")

运行结果:

参考博文:

python中md5加密的实现(hashlib)_IT之一小佬的博客-CSDN博客_md5 python

用于 MD5 哈希的 Python 正则表达式 - IT工具网

Python regex for MD5 hash - Stack Overflow

;