若依Cloud版本 集成AES密码加密

我们知道ruoyi密码传输和前后端交互都是明文,这样显然不是很安全

由此,我们可以去设计AES加密去验证用户合法性

    public boolean matches(SysUser user, String rawPassword)
    {
//        return SecurityUtils.matchesPassword(rawPassword, user.getPassword());
        try {
            return SecurityUtils.matchesPasswordAES(rawPassword,user.getPassword());
        } catch (Exception e) {
            log.error("load password error {}",e);
            return false;
        }
    }

加密的Encoder

    public static boolean matches(CharSequence rawPassword, String encodedPassword) throws Exception{
        if (rawPassword == null) {
            throw new IllegalArgumentException("rawPassword cannot be null");
        } else if (encodedPassword != null && encodedPassword.length() != 0) {
            String  realPass = AES256Util.decode(SecurityConstants.AES_STR,rawPassword.toString());
            String  Pass = AES256Util.decode(SecurityConstants.AES_STR,encodedPassword.toString());
            return StringUtils.equals(realPass,Pass);
        }
        return false;
    }

然后去比对数据库加密盐和网关获取的加密盐是否一致即可

提高了系统的安全性,实际上,登录请求加密方式多种多样,AES,RSA,更好的方式可以使用国密算法生成密钥

我们来验证下登录

 成功登录!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud Gateway中,可以使用AES加密算法进行加密AES(Advanced Encryption Standard)是一种对称加密算法,它可以对数据进行加密和解密。在网关中,可以使用AES算法对请求和响应的数据进行加密和解密,以保护数据的安全性。 使用AES加密算法需要以下步骤: 1. 生成AES密钥:首先需要生成一个AES密钥,可以使用随机数生成器生成一个密钥。 2. 加密数据:将需要加密的数据使用生成的AES密钥进行加密,可以使用AES算法提供的加密函数进行操作。 3. 解密数据:将加密后的数据使用相同的AES密钥进行解密,可以使用AES算法提供的解密函数进行操作。 在Spring Cloud Gateway中,可以通过自定义过滤器来实现AES加密和解密的功能。可以在请求到达网关时,使用过滤器对请求数据进行加密,然后将加密后的数据发送到后端服务。在响应返回时,再使用过滤器对响应数据进行解密,然后将解密后的数据返回给客户端。 需要注意的是,AES加密算法是对称加密算法,加密和解密使用相同的密钥。因此,在网关和后端服务之间需要共享同一个AES密钥,以确保数据的正确加密和解密。 参考文献: \[1\] 加密验密. https://www.jianshu.com/p/7e6e6b1e7b7e \[2\] spring cloud. https://www.jianshu.com/p/7e6e6b1e7b7e \[3\] 小程序公网访问. https://www.jianshu.com/p/7e6e6b1e7b7e #### 引用[.reference_title] - *1* *2* *3* [spring cloud gateway 实现基于非服务发现的应用报文签名&加密&路由](https://blog.csdn.net/dreamsigel/article/details/106540231)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值