会话管理之密码存储

密码存储

1,明文存储

存储简单,直接,风险大。数据库中可以直接看到用户密码,容易发生信息安全事故。造成一码通。由于大多数人的密码在多个app,网址等的密码,为了方便记忆,都采用相同的密码。

2,md5摘要加密hash(明文)

速度快,毫秒级别,但是存在安全隐患,可以被破解。
破解方式:
1,暴力破解
2,字典
3,彩虹表

3,hash(明文+盐)

盐的几种实现:

  • 用户名 手机号等 每个账户不一样
  • 统一的盐
  • 随机盐(保存数据库)
  • 随机盐(从密码取)

其中前三种都是不安全的,都存在安全漏洞。
最后一种是安全的,将随机盐保存在密码中。

防止破解

没有绝对安全的网络,即使拿不到密码 也可以发送重放攻击

  • 多次加盐取hash
  • 使用更复杂的单向加密算法比如Bcrypt
  • 使用https
  • 风控系统
    • 二次安全校验
    • 接口调用安全校验
    • 异地登录等
    • 大额转账

例如:springSecurity中的Bcrypt结构:
在这里插入图片描述

实现校验

1,获取保存在数据库的密码:
在这里插入图片描述
2,与前台传递过来的密码,为了安全最好加密

loginParams['username'] = values.username
loginParams.password = md5(values.password)
Login(loginParams).then((res) => {}

3,采用相同的加密方式,对前台传递过来的密码进行加密,加密后与保存在数据库中的密码比较。进行认证。spring框架集成了springSecurity框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值