Flask-token-werkzeufg

本文介绍了在Python Flask中使用JWT(Json Web Token)进行数据加密和身份验证的方法,包括密码的哈希加盐加密、JWT的构成、签发与验证流程,以及如何使用pyjwt库进行操作。同时,文章强调了JWT的安全注意事项,如保护secret私钥和避免在payload中存储敏感信息。
摘要由CSDN通过智能技术生成

Python-Flask-加密-token

  1. 数据加密-sha1

    	import hashlib
    	
    	pwd='a123456'
    	temp=hashlib.sha1(pwd.encode())
    	print(temp.hexdigest())
    
  2. hash加盐加密

    1. 导入加密函数

       from werkzeug.security import generate_password_hash,check_password_hash
      
    2. 密码生成函数:generate_password_hash

      	werkzeug.security.generate_password_hash(password, method='pbkdf2:sha1:2000', salt_length=8)
      

      参数说明:

       * password:明文密码
       * method:哈希加密的方法(需要hashlib库支持的),格式为pdpdf2:<method>[:iterations] 
       * method:哈希的方式,一般为SHA1
       * iterations:(可选参数)迭代次数,默认为1000
       * salt_length:盐值的长度,默认为8
      

      加密之后的字符串格式:

       method$salt$hash
      
    3. 密码验证函数:check_password_hash
      函数定义:

       werkzeug.security.check_password_hash(pwhash, password)
      

      参数定义:

      pwhash:generate_password_hash生成的哈希字符串
      password:需要验证的明文密码

      check_password_hash函数用于验证经过generate_password_hash哈希的密码 。若密码匹配,则返回真,否则返回假。

  3. token(jwt)

    现在很多框架都实现前后端分离,主要为了适应以下几个目的:

    1,前后端的分离,可以使前端开发和后端开发更加分工明确,而不是后端还需要在视图模板中加入很多{% XXXX %}标签

    2,是为了适应跨域调用或者多客户端调用,如你的手机应用调用某个接口,大都是调用第三方api等

    所以在整合JWT,让框架具有更多的适应性。JWT 说简单就是基于token的权限验证;flask 有提供json的支持,可是对象转化是一个大问题;

  4. 什么是token

    Json web token(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值