(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)