有一种常见加密的方式,就是使用动态的密码进行登录。这样保密性会提高很多。动态密码,实际上是先将普通密码加密再加上一段会变化的数据(比如时间)再进行一次加密。这样大家每次获得的密码部分都是不同的。这就是动态密码的大致含义。Python代码示例如下:

import hmac, os

from datetime import datetime

def create_pwd():

  # 获取当前UTC时间

  time_str = datetime.utcnow().strftime('%Y-%m-%d%H:%M:%S')

  print(time_str)

  # k共享密钥(令牌种子)

  # 这k的值影响到你计算出来的密码结果,与'md5'、'SHA512'这些有关,想了解请自行百度

  k = '3123558694032490123'

  # string -> bytes

  b_k = bytes(k, encoding='utf-8')

  b_t = bytes(time_str, encoding='utf-8')

  # 加密算法

  digestmod = 'MD5'

  h = hmac.new(b_k, b_t, digestmod)

  # 返回的16进制摘取6位

  hex_final = str(h.hexdigest())[0:6]

  # 转为10进制,这是只截取前6位

  final = str(int(hex_final.upper(), 16))[0:6]

  print(final)

if __name__=='__main__':

  create_pwd()

动态密码: 相同的密码明文, 加密后每次发送到服务器,密码都不同,即时间戳密码。时间间隔越小,密码安全性越高,这里我们可以将时间戳的时间设置为秒级,这样由于每秒的时间都在变化,得出的动态密码也在变化。一般常见的是设置为分钟级,即密码有1分钟(60秒)的有效期,方便用户有时间进行输入,从而后台进行匹配。

Python结果如下:

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月29日

热门专题

安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业
外贸网站建设|外贸网站建设,英文网站制作,英文网站设计,美国主机空间,外贸建站平台,多语言网站制作
外贸网站建设
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
中源管业|中源管业,中源管业公司,中源管业有限公司,中源管业电话,中源管业地址,中源管业电力管,中源管业mpp电力管,中源管业cpvc电力管,中源管业pe穿线管
中源管业
大理科技管理学校|大理科技管理学校,大理科技,大理科技中等职业技术学校,大理科技管理中等职业技术学校,大理科技学校
大理科技管理学校
大理科技管理学校|大理科技管理中等职业技术学校,大理市科技管理中等职业技术学校
大理科技管理学校
云南综合高中|云南综合高中
云南综合高中
弥勒综合高中|弥勒综合高中
弥勒综合高中

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部