bcrypt

加密相关模块

hashlib

1 .通过摘要函数f()对任意长度的data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。
2 .接受一个姓名和密码,加盐,并把密码进行哈希

import hashlib,random
def get_md5(s):
return hashlib.md5(s.encode('utf-8')).hexdigest()

class User(object):
def init(self,username,password):
self.username=username
self.slat=''.join([chr(random.randint(48,122))for i in range(20)])
//每次都是随机的盐
self.password=get_md5(password+self.slat)
//还可以在这里设置不同的位置加盐,从而进行更加安全的操作

x=User('libateer','123435')

secrets

1 .生成管理密码,账户验证信息,安全令牌和相关秘密信息等数据的密码随机数
2 .生成安全随机数
3 .生成一个固定长度的随机字符串-可以用作令牌和安全url
4 .生成一个由8位数子和字母组成的随机密码
5 .生成一个用于找回密码应用场景的,包含一个安全令牌,很难猜到的临时url

bcrypt

1 .需要注意的问题,密码的格式,最大长度,最小长度
import bcrypt

help(bcrypt)

pwd='l love you!'

npwd=bcrypt.hashpw(pwd,bcrypt.gensalt())
print npwd
if bcrypt.checkpw(pwd,npwd):
print 'ok'
else:
print 'no'

用户登陆密码进行加密

pycrypto

1 .加密算法库,几乎所有的加密算法都可以实现
2 .单项加密,对称加密,公匙加密,随机数操作

你可能感兴趣的:(bcrypt)