登录与注册的加密算法分析

登录与注册的加密算法分析

算法目的
  • 提供固定的 秘钥明文 能够产生不同的密文摘要
  • hamc 算法 大概流程是 使用一个秘钥 对明文进行两次散列操作得到密文摘要
  • 哈希(散列)函数
    • MD5
    • SHA1
    • SHA256
注册
  • 向服务器请求一个随机的秘钥
  • 把注册的密码进行 md5.hmac(hamc使用md5的散列函数来操作字符)加密 : md5.hmac(key,message) ==> 密文摘要(key : 秘钥 , message : 明文) : md5.hmac密文摘要
  • 把摘要提交到服务器,同时服务器把 该 秘钥md5.hmac密文摘要 持久化到数据库
登录
  • 客户端向服务器请求秘钥(注册时候存储的秘钥)

  • 在用户提交数据的时候对密码进行加密 :
    md5.hmac(key , pwd) ==> 子摘要
    md5.hamc(key , (子摘要 + ‘当前提交时间’)) ==> 总摘要

  • 当服务器接收到总摘要消息的时候处理流程 :

    • 取出 秘钥 key , 存储的密文摘要 pwdDigest
    • 根据以下公式计算两段密文摘要 :
    md5.hamc(key , '当前提交时间' + pwdDigest) ==>目的摘要1
    md5.hamc(key , '当前提交时间 + 1(分钟)' + pwdDigest) ==>目的摘要2
    
    • 如果用户提交的 总摘要 == 目的摘要1 || 总摘要 == 目的摘要2 为密码正确
这样做的好处
  • 注册只有一次, 提交 关键摘要 的操作只有一次,因此受到拦截数据的几率很少

  • 在登录的时候,由于加密使用了系统时间,因此这样可以保证密码摘要的动态性,而且服务器只会辨认一分钟以内的密文摘要,这样做,就算用户提交数据给拦截了,也很少有时间提供给黑客达到模仿正确登录请求

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值