密码盐值加密

This commit is contained in:
attiya 2025-09-01 15:21:04 +08:00
parent 70834b64d1
commit 03942028f4
6 changed files with 47 additions and 75 deletions

View File

@ -1,23 +1,18 @@
package com.cdzy.staff.controller; package com.cdzy.staff.controller;
import com.cdzy.common.enums.Message; import com.cdzy.common.enums.Message;
import com.cdzy.common.model.request.PageParam;
import com.cdzy.common.model.response.JsonResult; import com.cdzy.common.model.response.JsonResult;
import com.cdzy.staff.model.dto.StaffInfo; import com.cdzy.staff.model.dto.StaffInfo;
import com.cdzy.staff.model.entity.EbikeOperatorStaff;
import com.cdzy.staff.service.EbikeOperatorStaffService;
import com.cdzy.staff.model.vo.StaffVo; import com.cdzy.staff.model.vo.StaffVo;
import com.mybatisflex.core.paginate.Page; import com.cdzy.staff.service.EbikeOperatorStaffService;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 运营商员工账户表 控制层 * 运营商员工账户表 控制层
* *
* @author loves * @author attiya
* @since 2025-08-08 * @since 2025-08-08
*/ */
@RestController @RestController
@ -28,54 +23,7 @@ public class EbikeOperatorStaffController {
private EbikeOperatorStaffService ebikeOperatorStaffService; private EbikeOperatorStaffService ebikeOperatorStaffService;
/** /**
* 添加运营商员工账户表 * 获取当前登陆账号详情
*
* @param ebikeOperatorStaff 运营商员工账户表
* @return {@code true} 添加成功{@code false} 添加失败
*/
@PostMapping("save")
public JsonResult<?> save(@RequestBody EbikeOperatorStaff ebikeOperatorStaff) {
ebikeOperatorStaffService.save(ebikeOperatorStaff);
return JsonResult.success();
}
/**
* 根据主键删除运营商员工账户表
*
* @param id 主键
* @return {@code true} 删除成功{@code false} 删除失败
*/
@PostMapping("remove/{id}")
public JsonResult<?> remove(@PathVariable Long id) {
ebikeOperatorStaffService.removeById(id);
return JsonResult.success();
}
/**
* 根据主键更新运营商员工账户表
*
* @param ebikeOperatorStaff 运营商员工账户表
* @return {@code true} 更新成功{@code false} 更新失败
*/
@PostMapping("update")
public JsonResult<?> update(@RequestBody EbikeOperatorStaff ebikeOperatorStaff) {
ebikeOperatorStaffService.updateById(ebikeOperatorStaff);
return JsonResult.success();
}
/**
* 查询所有运营商员工账户表
*
* @return 所有数据
*/
@GetMapping("list")
public JsonResult<?> list() {
List<EbikeOperatorStaff> list = ebikeOperatorStaffService.list();
return JsonResult.success(list);
}
/**
* 根据运营商员工账户表主键获取详细信息
* *
* @return 运营商员工账户表详情 * @return 运营商员工账户表详情
*/ */
@ -85,18 +33,6 @@ public class EbikeOperatorStaffController {
return JsonResult.success(info); return JsonResult.success(info);
} }
/**
* 分页查询运营商员工账户表
*
* @param pageParam 分页对象
* @return 分页对象
*/
@GetMapping("page")
public JsonResult<?> page(PageParam pageParam) {
Page<EbikeOperatorStaff> page = ebikeOperatorStaffService.page(pageParam.getPage());
return JsonResult.success(page);
}
/** /**
* 运营商员工登录 * 运营商员工登录
* *
@ -108,4 +44,16 @@ public class EbikeOperatorStaffController {
String token = ebikeOperatorStaffService.login(staffVo); String token = ebikeOperatorStaffService.login(staffVo);
return JsonResult.success(Message.LOGIN,token); return JsonResult.success(Message.LOGIN,token);
} }
/**
* 运营商员工登录
*
* @param staffVo 登录信息
* @return 结果
*/
@PostMapping("add")
public JsonResult<?> add(@Validated @RequestBody StaffVo staffVo) {
ebikeOperatorStaffService.add(staffVo);
return JsonResult.success(Message.ADD_SUCCESS);
}
} }

View File

@ -36,6 +36,8 @@ public class EbikeOperatorStaff implements Serializable {
private String password; private String password;
private String salt;
private Long roleId; private Long roleId;
private Long operatorId; private Long operatorId;

View File

@ -16,4 +16,6 @@ public interface EbikeOperatorStaffService extends IService<EbikeOperatorStaff>
String login(StaffVo staffVo); String login(StaffVo staffVo);
StaffInfo getStaffInfo(); StaffInfo getStaffInfo();
void add(StaffVo staffVo);
} }

View File

@ -2,6 +2,7 @@ package com.cdzy.staff.service.impl;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import com.cdzy.common.ex.EbikeException; import com.cdzy.common.ex.EbikeException;
import com.cdzy.common.utils.SHA256WithSaltUtil;
import com.cdzy.staff.model.dto.StaffInfo; import com.cdzy.staff.model.dto.StaffInfo;
import com.cdzy.staff.model.entity.EbikeOperatorStaff; import com.cdzy.staff.model.entity.EbikeOperatorStaff;
import com.cdzy.staff.mapper.EbikeOperatorStaffMapper; import com.cdzy.staff.mapper.EbikeOperatorStaffMapper;
@ -24,7 +25,7 @@ import static com.cdzy.staff.model.entity.table.EbikeOperatorStaffTableDef.EBIKE
* @since 2025-08-07 * @since 2025-08-07
*/ */
@Service @Service
public class EbikeOperatorStaffServiceImpl extends ServiceImpl<EbikeOperatorStaffMapper, EbikeOperatorStaff> implements EbikeOperatorStaffService{ public class EbikeOperatorStaffServiceImpl extends ServiceImpl<EbikeOperatorStaffMapper, EbikeOperatorStaff> implements EbikeOperatorStaffService {
@Resource @Resource
private EbikeOperatorStaffMapper staffMapper; private EbikeOperatorStaffMapper staffMapper;
@ -36,11 +37,14 @@ public class EbikeOperatorStaffServiceImpl extends ServiceImpl<EbikeOperatorStaf
EbikeOperatorStaff ebikeOperatorStaff = staffMapper.selectOneByQuery(queryWrapper); EbikeOperatorStaff ebikeOperatorStaff = staffMapper.selectOneByQuery(queryWrapper);
if (ebikeOperatorStaff == null) { if (ebikeOperatorStaff == null) {
throw new EbikeException("用户名错误"); throw new EbikeException("用户名错误");
}else { } else {
boolean equals = ebikeOperatorStaff.getPassword().equals(staffVo.getPassword()); String salt = ebikeOperatorStaff.getSalt();
String password = staffVo.getPassword();
password = SHA256WithSaltUtil.encrypt(password, salt);
boolean equals = ebikeOperatorStaff.getPassword().equals(password);
if (!equals) { if (!equals) {
throw new EbikeException("密码错误"); throw new EbikeException("密码错误");
}else { } else {
StpUtil.login(ebikeOperatorStaff.getStaffId()); StpUtil.login(ebikeOperatorStaff.getStaffId());
return StpUtil.getTokenValueByLoginId(ebikeOperatorStaff.getStaffId()); return StpUtil.getTokenValueByLoginId(ebikeOperatorStaff.getStaffId());
} }
@ -65,4 +69,19 @@ public class EbikeOperatorStaffServiceImpl extends ServiceImpl<EbikeOperatorStaf
.permissions(permissions) .permissions(permissions)
.build(); .build();
} }
@Override
public void add(StaffVo staffVo) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_OPERATOR_STAFF.USERNAME.eq(staffVo.getUsername()));
EbikeOperatorStaff ebikeOperatorStaff = staffMapper.selectOneByQuery(queryWrapper);
if (ebikeOperatorStaff == null) {
throw new EbikeException("用户名错误");
} else {
String salt = SHA256WithSaltUtil.generateSalt();
String password = staffVo.getPassword();
password = SHA256WithSaltUtil.encrypt(password, salt);
//TODO:添加用户账号密码与对应权限
}
}
} }

View File

@ -33,7 +33,7 @@ spring:
max-lifetime: 1800000 max-lifetime: 1800000
sql: sql:
init: init:
platform: mysql platform: postgis
mode: always mode: always
schema-locations: classpath:db/init.sql schema-locations: classpath:db/init.sql
data-locations: classpath:db/data.sql data-locations: classpath:db/data.sql

View File

@ -14,6 +14,7 @@ public class PasswordTest {
String password = "123456"; String password = "123456";
String encrypt = SHA256WithSaltUtil.encrypt(password, salt); String encrypt = SHA256WithSaltUtil.encrypt(password, salt);
System.out.println(encrypt); System.out.println(encrypt);
System.out.println(encrypt.length());
} }
} }