如何实现koa2框架下的用户注册、登录校验及加盐加密技术?
- 内容介绍
- 相关推荐
本文共计1322个文字,预计阅读时间需要6分钟。
加密与解密:简介服务端用户名和密码的存储状态,我们知道当前端注册新用户时,会在表单内填入用户名和密码,并通过POST请求提交到服务器。服务器再将用户名和密码存储。
加密与解密
先介绍一下关于服务端用户名跟密码的存储状态,我们知道当前端在注册一个新用户时,会在表单内填入用户名和密码,并通过post请求提交到服务器,服务器再把用户名和密码从ctx.request.body中拿出来,存入到数据库的一张表里。这张表通常会被命名为users。
关键在于,服务器如何存入用户名和密码到数据库。直接存?不可能的,这样太不安全了,永远不要在一张表中出现全部用户名和密码一览无余的危险情况。
所以比较好的处理方法是这样的,服务器先对用户的密码进行加盐加密,再存到数据库。
那密码验证呢?则是接收前端输入的明文密码,与数据库中相应的加密密码进行比对,如果正确,则表示登录成功。注意:如果有人拿到这个加密的密码,也是没用的。因为比对正误的方法已经在服务器写死,只能是比对明文密码与加密密码是否吻合。如果接收到两个一模一样的加密密码,验证也不会通过。
至于如何比对明文密码与加密密码,不用担心,加密解密的方法都是一起配对生产的。bcryptjs就是这样一款不错的加解密工具。
本文共计1322个文字,预计阅读时间需要6分钟。
加密与解密:简介服务端用户名和密码的存储状态,我们知道当前端注册新用户时,会在表单内填入用户名和密码,并通过POST请求提交到服务器。服务器再将用户名和密码存储。
加密与解密
先介绍一下关于服务端用户名跟密码的存储状态,我们知道当前端在注册一个新用户时,会在表单内填入用户名和密码,并通过post请求提交到服务器,服务器再把用户名和密码从ctx.request.body中拿出来,存入到数据库的一张表里。这张表通常会被命名为users。
关键在于,服务器如何存入用户名和密码到数据库。直接存?不可能的,这样太不安全了,永远不要在一张表中出现全部用户名和密码一览无余的危险情况。
所以比较好的处理方法是这样的,服务器先对用户的密码进行加盐加密,再存到数据库。
那密码验证呢?则是接收前端输入的明文密码,与数据库中相应的加密密码进行比对,如果正确,则表示登录成功。注意:如果有人拿到这个加密的密码,也是没用的。因为比对正误的方法已经在服务器写死,只能是比对明文密码与加密密码是否吻合。如果接收到两个一模一样的加密密码,验证也不会通过。
至于如何比对明文密码与加密密码,不用担心,加密解密的方法都是一起配对生产的。bcryptjs就是这样一款不错的加解密工具。

