乐于技术分享 分享道路上

python MD5加密和flask-generate_password_hash

实际开发过程中,有些数据是需要加密保存或者处理的,为了就是为了保证源数据的安全性。那么MD5加密作为一种简单有效的非对称加密方式在日常开发过程中也经常的被使用到。下面就来介绍下MD5算法: 

1.  **简介**

   MD5消息摘要算法(MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。

2.  **用途**

   * **一致性验证**   对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。
    MD5可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。
   * **数字签名**   对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。(数字证书)
   * **安全访问认证**   密码加密存储
import uuid,hashlib


uid = str(uuid.uuid4())

print(uid)

a= hashlib.md5()
a.update(uid.encode(encoding="utf-8"))
print(a.hexdigest())


#uid = 05e5a16d-835e-43b3-9aec-a2076347d3b8
#md5后的UID = a2e6fc71266ace40e61fd3f4313b6bfb

MD5的简单使用


generate_password_hash的使用

from werkzeug.security import generate_password_hash,check_password_hash


def create_pwd():
    str ="12345wertdfg"
    #生成密码
    pwd = generate_password_hash(str)

    #对比密码
    result = check_password_hash(pwd,str)
    print(pwd)
    print(result)


if __name__ == '__main__':
    create_pwd()


#pbkdf2:sha256:50000$IATRA6P9$93f7026a4d9959f34ad4de4ee721d3ec79aaf085a141fcb29809eef64e5cf2e7
#True

generate_password_hash