27 lines
1.1 KiB
Markdown
27 lines
1.1 KiB
Markdown
# JeecgBoot 密码算法与 yy-admin 本地校验
|
||
|
||
## 算法(与 Java `PasswordUtil` 一致)
|
||
|
||
- 名称:`PBEWithMD5AndDES`(PKCS#5 Scheme1 + MD5,DES/CBC/PKCS7)
|
||
- 迭代次数:`1000`
|
||
- 明文:`encrypt(登录名 UTF-8, 明文密码, salt 字符串)`
|
||
- 登录名对应 Jeecg 的 `username`,在本项目中对应 `SysUser.Account`
|
||
- 存储值:密文字节的 **十六进制小写字符串**(与 Jeecg `sys_user.password` 一致)
|
||
|
||
## C# 实现位置
|
||
|
||
- `YY.Admin.Core/Util/JeecgPasswordUtil.cs`:`Encrypt` / `Verify`
|
||
|
||
## 数据库字段
|
||
|
||
- `SysUser.Password`:存放 Jeecg 返回的十六进制密文(或本地 SM2 加密串,取决于来源)
|
||
- `SysUser.JeecgPasswordSalt`:Jeecg `sys_user.salt`;**非空时**登录优先走 `JeecgPasswordUtil.Verify`
|
||
|
||
## 同步(SCADA 接口)
|
||
|
||
若 Jeecg SCADA 用户接口 JSON 中包含 `password`、`salt`,同步逻辑会写入上述两字段(见 `SysAuthService.ProcessJeecgUserRecordsAsync`)。
|
||
|
||
## 数据库迁移
|
||
|
||
新增列 `JeecgPasswordSalt`:若使用 SqlSugar 迁移/手工建表,请在 `sys_user` 增加可空字符串列(长度建议 64)。
|