晚上18:39接到电话,通知长虹二面,之前以为一面已经挂了,长虹面试之前都没任何通知,而且上次都是周五的下午6点多。
介绍现在在公司实习做过的项目。
其中关于修改登录密码的地方,面试官问了一下如何保证登录密码的时候的时间戳和上一次是一样的?
- 前端拿到的时间戳会传给后端,然后在后端登录的时候用的还是前端的这个时间戳。在后端首先会通过T(时间戳)+A(账号)+P(密码)生成一个S(密钥),这里可以设置一个时间戳最大过期时间,一旦时间戳-系统时间大于某个值,我们就认为该时间戳过期了,那么这个S就不能用了。
- 验证登录的时候,是将当前用户输入的A+P再加上前端传过来的T去生成新的S,这里用到了MD5加密算法,暂时叫做newS吧。newS与S做一个equals比较,如果比较成功了就更新登录时间、记录登录ID,最后生成新的Token,下次做验证的时候就用这个新的Token了,生成Token用的是JWT.