立项目标:搭建免费的在线加解密平台,对常见的加密算法进行讲解,以及用户讨论平台
主要功能:常见的对称加密,非对称加密,数字签名,博客管理,个人信息管理
主要流程:加解密以及数字签名,无需登录直接使用,对文章的管理需要登陆后进行
整个项目由我独立完成
主要组件:前端使用vue3,使用emit总线降低耦合,提高灵活性,保持页面同步。后端使用spring boot框架;引入redis处理热数据;引入jwt令牌进行验证;引入mail进行用户验证;定义ThreadLocal工具类,定义result类,统一返回数据类型,方便前端数据处理;在过滤器解析token后将信息存入线程,提高数据的流转性。
安全固件:前端部分输入框首先会进行验证,将敏感信息简单加密传入后端,如用户密码等敏感信息会直接将前端传来的hash值存入数据库;使用refreshToken和accesstoken组成的双令牌机制;通过使用Let's Encrypt TLS保证了应用层到传输层。
部分流程:假设用户首次注册,用户填写表单,在邮件验证成功后,才能进行后续操作,点击注册,前端对表单的数据进行简单处理,传入后端,后端通过用户的邮件以及当前时间戳,使用固定位流生成器生成唯一id,将id和密码的签名结果等一系列用户信息存入数据库,同时将两个令牌以及部分非敏感信息返回前端。