zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    近似计算π(for循环)
    apache部署mo_python
    文件注释方法
    算法效率的度量
    ssh
    使用类名创建对象
    筛选网址
    常用django命令
    查看和关闭端口
    update脚本出错
  • 原文地址:https://www.cnblogs.com/ppzhang/p/11785248.html
Copyright © 2011-2022 走看看