python写MD5加密及解密代码示例,并解释
时间: 2024-01-13 18:04:51 浏览: 175
MD5是一种常用的哈希算法,常用于密码加密和数据完整性校验。Python内置了`hashlib`模块,可以很方便地实现MD5加密和解密。下面是一个示例代码:
```python
import hashlib
# 加密函数
def md5_encrypt(string):
md5 = hashlib.md5()
md5.update(string.encode('utf-8'))
return md5.hexdigest()
# 解密函数,MD5是不可逆加密算法,不能进行解密,这里只是为了示例而写的
def md5_decrypt(string):
return string
# 测试
if __name__ == '__main__':
string = 'hello world'
encrypted = md5_encrypt(string)
print('加密后的字符串:', encrypted)
decrypted = md5_decrypt(encrypted)
print('解密后的字符串:', decrypted)
```
代码中,`md5_encrypt`函数使用`hashlib`模块中的`md5`函数进行加密,首先创建一个`md5`对象,然后调用`update`方法更新哈希值,传入的参数是要加密的字符串的二进制形式,最后调用`hexdigest`方法返回经过加密后的字符串。
`md5_decrypt`函数中,由于MD5是不可逆加密算法,所以实际上不能进行解密,这里只是为了示例而写的一个空函数。
在测试部分,我们将字符串`hello world`进行加密和解密,并输出结果。运行代码,输出结果如下:
```
加密后的字符串: 5eb63bbbe01eeed093cb22bb8f5acdc3
解密后的字符串: 5eb63bbbe01eeed093cb22bb8f5acdc3
```
从输出结果可以看出,`hello world`经过MD5加密后变为了`5eb63bbbe01eeed093cb22bb8f5acdc3`,无法直接通过解密方法得到原字符串。
阅读全文