首页 > 编程语言 >python当中hashlib模块进行加密

python当中hashlib模块进行加密

时间:2022-10-07 14:34:47浏览次数:60  
标签:hashlib sha256 加密 python random password salt

在python中,经常使用hashlib模块来进行加密。

普通加密:

  • 通过导入hashlib来实现。
import hashlib

password = "123456"

new_password = hashlib.md5(password.encode('utf8')).hexdigest()

print(new_password)

上述加密中,使用了md5,也可以使用比如:sha256等来进行加密。

进阶加密:

  • 通过加盐来实现
这里加盐,本质其实就是在明文前后加上通过一些随机字符串,再通过哈希加密来实现。
import random
import string
import hashlib

# 初始化
active = 0
salts = ''

while active < 10:
        # 用active激活while
        # 这里生成了一个长度为20的盐
        # 想要生成多长的盐,就将示例中的10改为期望长度的一半
        # 但这里的值最好是整数
        salt_one = random.choice(string.digits)
        # salt_one生成一个随机的数字
        salt_two = random.choice(string.ascii_letters)
        # salt_two生成一个随机的字母(区分大小写)
        salt = salt_one + salt_two
        #salt是它们的加和,这也就是为什么前面要减半
        salts += salt
        # 然后将加和后的值附加到刚才创建的空白字符串中
        active += 1
        # while函数基本用法我就不多说了

password = '123456'
# 然后加盐
after_salt_password = salts + password
# 用sha256对password进行加密
hash_password = hashlib.sha256(after_salt_password.encode("utf-8")).hexdigest()
# hash_password就是输出的哈希值
print(hash_password)

上述加密,通过sha256来实现,就是使用random模块来产生一些随机数,来创建盐。

标签:hashlib,sha256,加密,python,random,password,salt
From: https://www.cnblogs.com/shaoyishi/p/16759670.html

相关文章