python哈希加密
时间: 2023-11-11 14:00:44 浏览: 39
Python中常用的哈希加密算法有MD5、SHA1、SHA256等。其中,MD5是一种不可逆的哈希函数,可以将任意长度的消息压缩成一个128位的哈希值。SHA1和SHA256也是常用的哈希函数,分别可以将消息压缩成160位和256位的哈希值。这些哈希函数在密码学、数字签名等领域都有广泛的应用。
下面是一个使用Python中的hashlib库进行MD5加密的示例代码:
```python
import hashlib
def md5_encrypt(text):
md5 = hashlib.md5()
md5.update(text.encode('utf-8'))
return md5.hexdigest()
text = 'hello world'
encrypted_text = md5_encrypt(text)
print(encrypted_text)
```
输出结果为:
```
5eb63bbbe01eeed093cb22bb8f5acdc3
```
相关问题
python 哈希加密
Python 中常用的哈希加密算法有 MD5、SHA-1、SHA-256 等,其中 hashlib 模块提供了这些算法的实现。下面是一个示例代码:
```python
import hashlib
def hash_string(string, algorithm='md5'):
if algorithm == 'md5':
hash_obj = hashlib.md5()
elif algorithm == 'sha1':
hash_obj = hashlib.sha1()
elif algorithm == 'sha256':
hash_obj = hashlib.sha256()
else:
raise ValueError(f'Unsupported hash algorithm: {algorithm}')
hash_obj.update(string.encode('utf-8'))
return hash_obj.hexdigest()
# 示例用法
print(hash_string('hello world', 'md5'))
print(hash_string('hello world', 'sha1'))
print(hash_string('hello world', 'sha256'))
```
输出结果如下:
```
b10a8db164e0754105b7a99be72e3fe5
2ef7bde608ce5404e97d5f042f95f89f1c232871
7f83b1657ff1fc53b92dc18148a1d65ddc7dcbf8d40d8aed86426d5ba8c b7842430
```
可以看到,不同的算法生成的哈希值长度和字符集都不同。
python3 哈希加密
在Python 3中,可以使用内置的hashlib模块实现哈希加密。
下面是一个使用sha256算法进行哈希加密的示例代码:
```python
import hashlib
# 要加密的字符串
password = "hello world"
# 创建sha256对象
sha256 = hashlib.sha256()
# 更新哈希对象,传入要加密的字符串
sha256.update(password.encode())
# 获取加密后的结果
result = sha256.hexdigest()
print(result)
```
输出结果为:
```
b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
```
注意,上面的示例代码中,使用`update()`方法更新哈希对象,可以多次更新,每次传入的数据都会被追加到内部缓冲区中。最后使用`hexdigest()`方法获取加密后的结果,结果以字符串形式返回。
还可以使用其他哈希算法,如md5、sha1等,只需要在创建哈希对象时指定对应的算法即可。例如:
```python
import hashlib
# 要加密的字符串
password = "hello world"
# 创建md5对象
md5 = hashlib.md5()
# 更新哈希对象,传入要加密的字符串
md5.update(password.encode())
# 获取加密后的结果
result = md5.hexdigest()
print(result)
```
输出结果为:
```
5eb63bbbe01eeed093cb22bb8f5acdc3
```