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
  • 相关阅读:
    Pyhton入门 笔记 第二天 变量与运算符
    Pyhton入门 笔记 第一天 数据类型
    HTML 中的特殊字符
    Extjs--12种布局方式
    .NET easyUI tree树状结构
    SqlServer中嵌套事务使用--事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配 --根本问题
    事务回滚 DEMO
    SQL 事物回滚
    一步一步教你玩转.NET Framework的配置文件app.config
    C# tostring() 方法
  • 原文地址:https://www.cnblogs.com/ppzhang/p/11785248.html
Copyright © 2011-2022 走看看