当前位置: 首页 > news >正文

ui设计案例网站百度推广如何获取精准的客户

ui设计案例网站,百度推广如何获取精准的客户,宁波企业网站搭建极速建站,wordpress模板手机文章目录 一、需求提出二、应用场景三、解决思路四、注意事项五、完整代码第一步:前端对密码进行加密第二步:后端工具类实现 RSA 加解密功能第三步:登录接口中添加解密逻辑 六、运行结果总结 一、需求提出 在默认情况下,RuoYi 微…

文章目录

  • 一、需求提出
  • 二、应用场景
  • 三、解决思路
  • 四、注意事项
  • 五、完整代码
    • 第一步:前端对密码进行加密
    • 第二步:后端工具类实现 RSA 加解密功能
    • 第三步:登录接口中添加解密逻辑
  • 六、运行结果
  • 总结

一、需求提出

在默认情况下,RuoYi 微服务框架的登录接口会通过明文传输密码,这可能导致安全性问题。如果项目对数据传输安全性有较高要求,可以通过配置加密传输方式来提升安全性。本文介绍一种基于 RSA 的解决方案。

二、应用场景

  • 增强登录安全性:在密码传输过程中,防止数据被拦截导致的安全泄露。
  • 符合安全合规要求:满足企业内部或行业标准对密码保护的要求。
  • 敏感信息保护:保护用户的密码等敏感信息在网络传输过程中的隐私。

三、解决思路

  • 前端加密:登录表单提交前,利用公钥对用户输入的密码进行加密。
  • 后端解密:后端接收加密后的密码,利用私钥解密后继续进行用户身份验证。
  • 统一加密工具:通过工具类封装加密和解密操作,便于维护和复用。

四、注意事项

  • 公私钥生成:确保公钥和私钥的安全存储,避免密钥泄露。
  • 加解密性能:RSA 加密存在一定性能消耗,建议合理优化前后端的加解密流程。
  • 版本兼容性:确保前后端加密算法和密钥匹配,避免因版本问题导致数据解析失败。

五、完整代码

第一步:前端对密码进行加密

在前端项目的 login.js 文件中,修改登录方法,利用 RSA 公钥对密码加密。

// 导入加密工具
import { encrypt } from '@/utils/jsencrypt'// 登录方法
export function login(username, password, code, uuid) {// 使用公钥对密码加密password = encrypt(password);  return request({url: '/auth/login',method: 'post',data: { username, password, code, uuid }});
}

说明:

  • encrypt 方法需基于前端封装的 RSA 加密工具,使用后端提供的公钥进行加密。
  • 前端仅需发送加密后的密码,后端会负责解密。

第二步:后端工具类实现 RSA 加解密功能

在后端 common 模块的 sign 包下新增工具类 RsaUtils.java,用于封装 RSA 加密解密逻辑。

package com.ruoyi.common.core.utils.sign;import org.apache.commons.codec.binary.Base64;
import javax.crypto.Cipher;
import java.security.*;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;/*** RSA 加密解密工具类* * @author ruoyi*/
public class RsaUtils {// RSA 私钥(用于解密)public static final String PRIVATE_KEY = "MIIBVAIBADANBgkqhki...";/*** 使用私钥解密数据** @param encryptedText 加密的文本* @return 解密后的文本* @throws Exception 解密失败抛出异常*/public static String decryptByPrivateKey(String encryptedText) throws Exception {PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(Base64.decodeBase64(PRIVATE_KEY));KeyFactory keyFactory = KeyFactory.getInstance("RSA");PrivateKey privateKey = keyFactory.generatePrivate(keySpec);Cipher cipher = Cipher.getInstance("RSA");cipher.init(Cipher.DECRYPT_MODE, privateKey);byte[] decryptedData = cipher.doFinal(Base64.decodeBase64(encryptedText));return new String(decryptedData);}
}

说明:

  • 私钥安全性:务必妥善保管私钥,避免泄露。
  • 加解密算法:工具类使用 RSA 算法,确保与前端加密逻辑一致。

第三步:登录接口中添加解密逻辑

修改 TokenController.java 的登录接口,添加对接收密码的解密操作。

@PostMapping("/login")
public R<?> login(@RequestBody LoginBody form) throws Exception {// 使用私钥解密密码String decryptedPassword = RsaUtils.decryptByPrivateKey(form.getPassword());// 验证用户登录LoginUser userInfo = sysLoginService.login(form.getUsername(), decryptedPassword);// 生成并返回 Tokenreturn R.ok(tokenService.createToken(userInfo));
}

说明:

  • 解密后的明文密码传递给登录服务进行验证,逻辑与未加密传输时一致。

六、运行结果

  • 用户访问登录页面,输入用户名和密码后,点击提交:
    • 前端会对输入的密码进行 RSA 加密,后端接收到加密后的数据。
  • 后端解密成功后,验证用户名和密码的有效性:
    • 登录成功返回 Token,用户进入系统主页。

总结

通过前端加密与后端解密的配合,可以有效提升登录接口的安全性,避免密码明文传输可能带来的风险。这种方式简单实用,适用于需要保护用户敏感数据的场景。

http://www.hkea.cn/news/165450/

相关文章:

  • 湖南企业建站系统平台软文有哪些发布平台
  • 南通 网络 公司网站真正免费建站
  • 做图骂人的图片网站网络服务
  • wordpress主标题副标题seo基础
  • 淮安做网站优化百度竞价排名是什么方式
  • 食品公司网站源码谷歌网页
  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具