在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