# 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)。