Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
head_group
xyqb-user2
Commits
a5fbd6fc
Commit
a5fbd6fc
authored
Jul 25, 2022
by
李健华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改密码加密方式
parent
73250bec
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
43 additions
and
4 deletions
+43
-4
UserController.java
...n/quantgroup/xyqb/controller/external/UserController.java
+10
-4
User.java
src/main/java/cn/quantgroup/xyqb/entity/User.java
+3
-0
UserRegisterServiceImpl.java
...p/xyqb/service/register/impl/UserRegisterServiceImpl.java
+2
-0
UserServiceImpl.java
...cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
+1
-0
BctyptPasswordUtil.java
...main/java/cn/quantgroup/xyqb/util/BctyptPasswordUtil.java
+27
-0
No files found.
src/main/java/cn/quantgroup/xyqb/controller/external/UserController.java
View file @
a5fbd6fc
...
...
@@ -24,10 +24,7 @@ import cn.quantgroup.xyqb.service.sms.ISmsService;
import
cn.quantgroup.xyqb.service.user.*
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
cn.quantgroup.xyqb.session.XyqbSessionContextHolder
;
import
cn.quantgroup.xyqb.util.IpUtil
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
cn.quantgroup.xyqb.util.TenantUtil
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
cn.quantgroup.xyqb.util.*
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
...
...
@@ -336,6 +333,7 @@ public class UserController implements IBaseController {
User
user
=
userService
.
findByPhoneInDb
(
phoneNo
);
if
(
user
!=
null
)
{
user
.
setPassword
(
PasswordUtil
.
MD5WithSalt
(
password
));
user
.
setEncryptedPassword
(
BctyptPasswordUtil
.
BCryptWithSalt
(
password
));
userService
.
saveUser
(
user
);
log
.
info
(
"用户注册失败,该手机号已经被注册:register -> registerFrom:{}, phoneNo:{}"
,
registerFrom
,
phoneNo
);
//已存在的用户, 经过短信认证, 也认为是注册成功的
...
...
@@ -742,6 +740,14 @@ public class UserController implements IBaseController {
lockIpv4Service
.
countErrorByPhoneNo
(
phoneNo
);
return
null
;
}
System
.
out
.
println
(
user
.
getPassword
());
if
(!
BctyptPasswordUtil
.
BCryptCheckPw
(
pass
,
user
.
getEncryptedPassword
()))
{
// 向该ipv4添加错误计数器
lockIpv4Service
.
countErrorByIpv4
(
clientIp
);
// 向该phoneNo添加错误计数器
lockIpv4Service
.
countErrorByPhoneNo
(
phoneNo
);
return
null
;
}
//验证密码
if
(!
PasswordUtil
.
validatePassword
(
pass
,
user
.
getPassword
()))
{
// 向该ipv4添加错误计数器
...
...
src/main/java/cn/quantgroup/xyqb/entity/User.java
View file @
a5fbd6fc
...
...
@@ -45,6 +45,9 @@ public class User extends BaseEntity implements Serializable {
@Convert
(
converter
=
EncryptConverter
.
class
)
private
String
encryptedPhoneNo
;
@Column
(
name
=
"encrypted_password"
)
private
String
encryptedPassword
;
public
String
getEncryptedPhoneNo
()
{
return
StringUtils
.
isBlank
(
encryptedPhoneNo
)
?
phoneNo
:
encryptedPhoneNo
;
}
...
...
src/main/java/cn/quantgroup/xyqb/service/register/impl/UserRegisterServiceImpl.java
View file @
a5fbd6fc
...
...
@@ -13,6 +13,7 @@ import cn.quantgroup.xyqb.service.register.IUserDeregisterService;
import
cn.quantgroup.xyqb.service.register.IUserRegisterService
;
import
cn.quantgroup.xyqb.service.user.ILoginRecordService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.util.BctyptPasswordUtil
;
import
cn.quantgroup.xyqb.util.DateUtils
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
cn.quantgroup.xyqb.util.TenantUtil
;
...
...
@@ -159,6 +160,7 @@ public class UserRegisterServiceImpl implements IUserRegisterService {
}
if
(
StringUtils
.
isNotBlank
(
password
))
{
user
.
setPassword
(
PasswordUtil
.
MD5WithSalt
(
password
));
user
.
setEncryptedPassword
(
BctyptPasswordUtil
.
BCryptWithSalt
(
password
));
}
user
=
userService
.
saveUser
(
user
);
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
View file @
a5fbd6fc
...
...
@@ -229,6 +229,7 @@ public class UserServiceImpl implements IUserService, IBaseController {
throw
new
RuntimeException
(
"用户["
+
phoneNo
+
"]不存在"
);
}
user
.
setPassword
(
PasswordUtil
.
MD5WithSalt
(
password
));
user
.
setEncryptedPassword
(
BctyptPasswordUtil
.
BCryptWithSalt
(
password
));
user
=
userRepository
.
save
(
user
);
stringRedisTemplate
.
expire
(
"usercache:xyqbuser"
+
phoneNo
,
1L
,
TimeUnit
.
MILLISECONDS
);
return
PasswordUtil
.
validatePassword
(
password
,
user
.
getPassword
());
...
...
src/main/java/cn/quantgroup/xyqb/util/BctyptPasswordUtil.java
0 → 100644
View file @
a5fbd6fc
package
cn
.
quantgroup
.
xyqb
.
util
;
import
org.springframework.security.crypto.bcrypt.BCrypt
;
import
java.util.Objects
;
/**
* Created by Miraculous on 15/7/5.
*/
public
class
BctyptPasswordUtil
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
BCryptWithSalt
(
"123456"
));
System
.
out
.
println
(
BCryptCheckPw
(
"123456"
,
BCryptWithSalt
(
"123456"
)));
}
public
final
static
String
BCryptWithSalt
(
String
password
)
{
if
(
Objects
.
isNull
(
password
)){
return
null
;
}
return
BCrypt
.
hashpw
(
password
,
BCrypt
.
gensalt
());
}
public
final
static
Boolean
BCryptCheckPw
(
String
password
,
String
hashe
)
{
return
BCrypt
.
checkpw
(
password
,
hashe
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment