无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(MD5密码散列函数) 方便的大家admin及admin888 经过 md5加密后16位和32位代码 MD5密码散列函数:生成128位哈希值 全网首发(图文详解1)

前沿技术 Micheal 2个月前 (05-29) 46次浏览 已收录 扫描二维码

(MD5密码散列函数) 方便的大家admin及admin888 经过 md5加密后16位和32位代码

MD5(Message Digest Algorithm 5)是一种广泛使用的密码散列函数,可以产生出一个128位(16字节)的哈希值。通常使用32位十六进制表示。MD5经常用于验证数据的完整性,但在安全性要求较高的场合不推荐使用,因为它存在被破解的可能性。

在程序设计中,可以通过调用编程语言提供的库函数或者使用现成的工具库来生成MD5加密后的哈希值。我们可以用Python举例,来展示如何生成一个字符串的MD5值。

生成32位MD5加密字符串的步骤(以Python为例):

  • 引入Python的hashlib模块。
  • 使用hashlib模块中的md5()函数来创建MD5对象。
  • 使用update()方法提供需要加密的字符串。
  • 使用hexdigest()方法获取16进制格式的MD5字符串。
import hashlib

# 输入字符串
raw_strings = ["admin", "admin888"]

for raw_string in raw_strings:
    # 创建md5对象
    hasher = hashlib.md5()

    # 提供需要加密的字符串,Python3.x 需要将字符串转成bytes
    hasher.update(raw_string.encode('utf-8'))

    # 获取16进制格式的MD5字符串
    hex_md5 = hasher.hexdigest()

    # 输出32位的MD5加密后的字符串
    print(f"The MD5 (32-bit) for {raw_string} is: {hex_md5}")

生成16位MD5加密字符串:

通常所说的16位MD5实际上是取32位MD5加密字符串的中间16位来表示。用上面的Python代码,我们在获取到32位的MD5加密值后进一步处理:

# ...(省略前面相同的代码)

    # 获取32位加密字符串的中间16位
    hex_md5_16 = hex_md5[8:-8]

    # 输出16位的MD5加密后的字符串
    print(f"The MD5 (16-bit) for {raw_string} is: {hex_md5_16}")

要注意,上面的代码需要在Python环境中运行,需要安装Python解释器,以及一个文本编辑器或IDE来写和运行代码。

MD5的安全性问题意味着在密码存储等场景下,更安全的做法是使用如bcrypt、Sha-256等更为安全的加密算法。此外,为了提高密码安全性,还常常使用“盐值(salt)”和多次散列等技术。

以上代码仅用于教学演示,应根据实际需求进行安全性考量,并在实际项目中应用更为安全的做法。
(parse_dates) pandas pd.read_csv()函数中parse_dates()参数的用法说明 pandas 中 CSV 文件解析日期 全网首发(图文详解1)
(list合并) python 合并列表的八种方法 python合并列表八种方法 全网首发(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝