对比原因
用spring保存用户信息的时候,即用户在注册或者修改的时候,会将用户的信息存入redis
当然像数据库一样,redis也不可能保存明文的密码。
那么我们肯定将密码加密后,存入数据库,同时存入redis,这一部分操作,是由spring来完成的
但是当用户登录时,我们用nginx + lua校验用户的合法性,这个时候,需要将前台传入的明文密码进行相同的加密,
然后和redis中保存的密码进行对比。
那么,spring和lua同样同md5加密,密文会一样吗?理论上应该是一样的
进行测试
这是lua的代码
ngx.say(ngx.md5("456"))
这是spring boot的测试代码
@Test
public void md5Test() {
String md5Password = DigestUtils.md5DigestAsHex("456".getBytes());
System.out.println("***********************" + md5Password + "**********************");
}
测试结果,二者加密结果相同
250cf8b51c773f3f8dc8b4be867a9a02
250cf8b51c773f3f8dc8b4be867a9a02
扩展
只是进行了简单的字符串加密,这样并不能让人真正放心,还需要测试一些复杂的数据,这里就不再啰嗦了。嘿嘿。难道不应该是一样的吗?
网友评论