Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
sv-springboot
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bsoft
sv-springboot
Commits
5c523da6
Commit
5c523da6
authored
Jan 15, 2021
by
宋振民
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:用户信息密码加密、支持选择多科室
parent
8995c661
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
123 additions
and
4 deletions
+123
-4
hs-admin/src/main/java/com/hs/admin/common/utils/AESUtil.java
+107
-0
hs-admin/src/main/java/com/hs/admin/model/respmodel/SysUserList.java
+1
-1
hs-admin/src/main/java/com/hs/admin/service/impl/UserServiceImpl.java
+10
-0
hs-admin/src/main/resources/mapper/SysUserMapper.xml
+5
-3
环境配置地址以及更新记录.xlsx
+0
-0
No files found.
hs-admin/src/main/java/com/hs/admin/common/utils/AESUtil.java
0 → 100644
View file @
5c523da6
package
com
.
hs
.
admin
.
common
.
utils
;
import
org.apache.commons.codec.binary.Base64
;
import
javax.crypto.BadPaddingException
;
import
javax.crypto.Cipher
;
import
javax.crypto.IllegalBlockSizeException
;
import
javax.crypto.spec.SecretKeySpec
;
import
java.io.UnsupportedEncodingException
;
import
java.security.InvalidKeyException
;
public
class
AESUtil
{
public
static
final
String
AES_KEY
=
"edFabJn3ZA==7JVk"
;
//密钥自定义16位
/**
* AES加密+Base64转码
*
* @param data 明文(16进制)
* @return
*/
public
static
String
encrypt
(
String
data
)
{
byte
[]
keyb
=
null
;
try
{
keyb
=
AES_KEY
.
getBytes
(
"utf-8"
);
}
catch
(
UnsupportedEncodingException
e1
)
{
e1
.
printStackTrace
();
}
// 明文
SecretKeySpec
sKeySpec
=
new
SecretKeySpec
(
keyb
,
"AES"
);
Cipher
cipher
=
null
;
try
{
cipher
=
Cipher
.
getInstance
(
"AES"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
try
{
cipher
.
init
(
Cipher
.
ENCRYPT_MODE
,
sKeySpec
);
}
catch
(
InvalidKeyException
e
)
{
e
.
printStackTrace
();
}
byte
[]
bjiamihou
=
null
;
String
miwen
=
""
;
try
{
bjiamihou
=
cipher
.
doFinal
(
data
.
getBytes
(
"utf-8"
));
// byte加密后
miwen
=
Base64
.
encodeBase64String
(
bjiamihou
);
// 密文用base64加密
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
catch
(
BadPaddingException
e
)
{
e
.
printStackTrace
();
}
catch
(
IllegalBlockSizeException
e
)
{
e
.
printStackTrace
();
}
return
miwen
;
}
/**
* Base64解码 + AES解码
*
* @param data 密文 (16进制)
* @return
*/
public
static
String
decrypt
(
String
data
){
byte
[]
keyb
=
null
;
try
{
keyb
=
AES_KEY
.
getBytes
(
"utf-8"
);
}
catch
(
UnsupportedEncodingException
e1
)
{
// TODO Auto-generated catch block
e1
.
printStackTrace
();
}
byte
[]
miwen
=
Base64
.
decodeBase64
(
data
);
SecretKeySpec
sKeySpec
=
new
SecretKeySpec
(
keyb
,
"AES"
);
Cipher
cipher
=
null
;
try
{
cipher
=
Cipher
.
getInstance
(
"AES"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
try
{
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
sKeySpec
);
}
catch
(
InvalidKeyException
e
)
{
e
.
printStackTrace
();
}
byte
[]
bjiemihou
=
null
;
String
mingwen
=
""
;
try
{
bjiemihou
=
cipher
.
doFinal
(
miwen
);
// byte加密后
mingwen
=
new
String
(
bjiemihou
,
"utf-8"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
mingwen
;
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
// 测试加密工具类
String
data
=
"{\"appCode\":\"portal\",\"createtime\":1592981430336,\"msgContent\":\"这里是通知的正文\",\"msgSignature\":\"中心(Janson)\",\"msgStatus\":0,\"msgTitle\":\"测试通知任务\",\"msgType\":1,\"objectCreateTime\":1592981430322,\"objectId\":\"123123123Id\",\"permission\":0,\"receiveUsers\":\"450503\",\"sendObject\":1,\"status\":0,\"userType\":1}"
;
//明文
String
miwen
=
encrypt
(
" "
);
// 加密
System
.
out
.
println
(
miwen
);
System
.
out
.
println
(
decrypt
(
miwen
));
// 解密
}
}
\ No newline at end of file
hs-admin/src/main/java/com/hs/admin/model/respmodel/SysUserList.java
View file @
5c523da6
...
...
@@ -7,6 +7,6 @@ import lombok.Data;
public
class
SysUserList
extends
SysUser
{
private
Integer
roleId
;
private
String
roleName
;
private
Integer
orgId
;
private
String
orgId
;
private
String
orgName
;
}
hs-admin/src/main/java/com/hs/admin/service/impl/UserServiceImpl.java
View file @
5c523da6
...
...
@@ -6,6 +6,7 @@ import com.github.pagehelper.PageInfo;
import
com.hs.admin.common.base.PageRequest
;
import
com.hs.admin.common.base.PageResult
;
import
com.hs.admin.common.enums.StateType
;
import
com.hs.admin.common.utils.AESUtil
;
import
com.hs.admin.common.utils.PageUtil
;
import
com.hs.admin.mapper.SysUserMapper
;
import
com.hs.admin.model.SysUser
;
...
...
@@ -20,6 +21,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -123,6 +125,13 @@ public class UserServiceImpl implements UserService {
PageRequest
page
=
user
.
getPage
();
PageHelper
.
startPage
(
page
.
getPageNum
(),
page
.
getPageSize
());
List
<
SysUserList
>
sysMenus
=
sysUserMapper
.
selectUserList
();
List
<
SysUserList
>
sysUserLists
=
new
ArrayList
<>();
sysMenus
.
forEach
(
sysUserList
->
{
String
password
=
sysUserList
.
getPassword
();
String
encrypt
=
AESUtil
.
encrypt
(
password
);
sysUserList
.
setPassword
(
encrypt
);
sysUserLists
.
add
(
sysUserList
);
});
PageResult
pageResult
=
PageUtil
.
getPageResult
(
page
,
new
PageInfo
<
SysUserList
>(
sysMenus
));
return
pageResult
;
}
...
...
@@ -130,6 +139,7 @@ public class UserServiceImpl implements UserService {
@Override
public
SysUserList
info
(
Integer
userId
)
{
SysUserList
sysUser
=
sysUserMapper
.
selectUserById
(
userId
);
sysUser
.
setPassword
(
AESUtil
.
encrypt
(
sysUser
.
getPassword
()));
return
sysUser
;
}
}
hs-admin/src/main/resources/mapper/SysUserMapper.xml
View file @
5c523da6
...
...
@@ -120,16 +120,16 @@
and `STATE` != 0
</select>
<select
id=
"selectUserList"
resultMap=
"SysUserList"
>
select r.ID as ROLE_ID, r.ROLE_NAME,
s.ID as ORG_ID, s.
ORG_NAME, u.*
select r.ID as ROLE_ID, r.ROLE_NAME,
GROUP_CONCAT(s.ID) ORG_ID, GROUP_CONCAT(s.ORG_NAME)
ORG_NAME, u.*
from sys_user u
join sys_user_role_rs ur on ur.USER_ID = u.ID and ur.STATE = 1
join sys_role r on r.ID = ur.ROLE_ID and r.STATE = 1
join sys_user_sbj_rs us on us.USER_ID = u.ID and us.STATE = 1
join sys_subject s on s.ID = us.ORG_ID and s.STATE = 1 and ((s.PARENT_ID != 0 and r.ROLE_CODE != 1) or
(s.PARENT_ID = 0 and r.ROLE_CODE = 1))
(s.PARENT_ID = 0 and r.ROLE_CODE = 1))
group by u.id
</select>
<select
id=
"selectUserById"
resultMap=
"SysUserList"
>
select r.ID as ROLE_ID, r.ROLE_NAME,
s.ID as ORG_ID, s.
ORG_NAME, u.*
select r.ID as ROLE_ID, r.ROLE_NAME,
GROUP_CONCAT(s.ID) ORG_ID, GROUP_CONCAT(s.ORG_NAME)
ORG_NAME, u.*
from sys_user u
join sys_user_role_rs ur on ur.USER_ID = u.ID and ur.STATE = 1
join sys_role r on r.ID = ur.ROLE_ID and r.STATE = 1
...
...
@@ -137,5 +137,6 @@
join sys_subject s on s.ID = us.ORG_ID and s.STATE = 1 and ((s.PARENT_ID != 0 and r.ROLE_CODE != 1) or
(s.PARENT_ID = 0 and r.ROLE_CODE = 1))
where u.id = #{id}
group by u.id
</select>
</mapper>
\ No newline at end of file
环境配置地址以及更新记录.xlsx
View file @
5c523da6
No preview for this file type
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