import hashlib


def md5_str(encrypt_str: str, encoding: str = "utf-8", is_upper: bool = False) -> str:
    """
    MD5 摘要
    :param encrypt_str: 需要转换 MD5 的字符串
    :param encoding: 编码格式
    :param is_upper: 是否转换为全部大写
    :return: 摘要结果
    """
    m = hashlib.md5(encrypt_str.encode(encoding=encoding))
    md5_result = m.hexdigest()
    if is_upper:
        return md5_result.upper()
    return md5_result