初次提交
This commit is contained in:
34
user-service/src/test/java/AESTest.java
Normal file
34
user-service/src/test/java/AESTest.java
Normal file
@ -0,0 +1,34 @@
|
||||
import com.ho.common.tools.util.AESEncryptUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @author fancl
|
||||
* @desc: AES 加解密demo
|
||||
* @date 2022/11/15
|
||||
*/
|
||||
@Slf4j
|
||||
public class AESTest {
|
||||
public static void main(String[] args) {
|
||||
String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCuG6ZABNgLQCI9iVPDuJEb7xb5zR9UGKyKXshLuJFZxyNtaEzfpjSMqsshUYA1QpwUvkmZE0lcRE4F4QtZO9rDnH2PoW1FWRbjgg0+MKWOmZr9hSPKM/BIE+knTtTaj4/0TK7QwDd9q/QAIduC1hIyxIIkxfWx0gFuTnxui0waCwIDAQAB";
|
||||
String privKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAK4bpkAE2AtAIj2JU8O4kRvvFvnNH1QYrIpeyEu4kVnHI21oTN+mNIyqyyFRgDVCnBS+SZkTSVxETgXhC1k72sOcfY+hbUVZFuOCDT4wpY6Zmv2FI8oz8EgT6SdO1NqPj/RMrtDAN32r9AAh24LWEjLEgiTF9bHSAW5OfG6LTBoLAgMBAAECgYA614NfXYO6galQzMmvewAnxa0pLYbqABDIDvJ4jN8qzV+OyVI5v81AwTQ3hXjkBygC5rCu+FKxyS/pUr5oIQ90vbKvy+kozg9l0qWHfa8XrfC+E36CVuDrZYdZzl0C6J6BoNB9osJJ6HCnMA7kWLRRwU5VJBsK8CmgcJlfHNH60QJBAPz4rZgqgor69SonHG4xjRz+u4QkXIP8I+lorBSFEuUF03u22Kcxz7mcOq63m8K+oc22ql0g8QNrq6YPrEgpAPMCQQCwMUQcdZLWJrRbHp1ZA3jbt4vYg7xb1LklAM6Qmz1R9xVY0itDMtFRSTlVnrbTPZ+rldrkLUOzLJwKLHniIQiJAkEAmfeBMKwu6Af2T8GePDNMf+lKmBLJfEtqUBW1JogYB+yT2yhelORsWbwMu2plExKTyHD1H9l812ghAOFpKkJKoQJBAJ7lz2dbIXHAtib3FTCR0Q1WGujI5bZrwg19DM2dM1AYZUgVQq73xY5pWyu8V2VqzfUQ0Le3mracJJ2IPuOQpwECQF/b7Tv3auIHRaO9AD7xWIOCMYGlKhqeheMZb/mDRHedsdRvigiojDaaFbtnkvXlRbWlkOu5P5GNDpv7EuPbUs8=";
|
||||
//AES加解密
|
||||
//String aesKey = AESEncryptUtil.generateKeyAndIv();
|
||||
//String iv = AESEncryptUtil.generateKeyAndIv();
|
||||
String aesKey = "1111111111111111";
|
||||
String iv = "2222222222222222";
|
||||
log.info("aesKey: {} ,iv:{}" ,aesKey ,iv);
|
||||
//先加密
|
||||
String plainText = "666666";
|
||||
log.info("原始内容: {}" ,plainText);
|
||||
//String encryptData = AESEncryptUtil.encrypt(plainText, aesKey, iv);
|
||||
String encryptData = "vJOd6iNHWO9eGUDOBkDQIA==";
|
||||
log.info("加密后的密码: {}" ,encryptData);
|
||||
|
||||
//使用固定密钥解密
|
||||
String decryptPss = AESEncryptUtil.decrypt(encryptData, aesKey, iv);
|
||||
log.info("解密后的密码:{}" ,decryptPss);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
96
user-service/src/test/java/BlockReadDemo.java
Normal file
96
user-service/src/test/java/BlockReadDemo.java
Normal file
@ -0,0 +1,96 @@
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
|
||||
/**
|
||||
* @author fancl
|
||||
* @desc: 分块读取文件示例
|
||||
* @date 2022/8/10
|
||||
*/
|
||||
@Slf4j
|
||||
public class BlockReadDemo {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
//write();
|
||||
String path = "D:/temp/3.txt";
|
||||
//先获取文件字节大小
|
||||
long fileTotalSize = getFileSize(path);
|
||||
int pageSize = 10;
|
||||
//根据总大小计算文件页数
|
||||
int pageNum = (int)(fileTotalSize + pageSize -1)/pageSize;
|
||||
log.info("总页数:" + pageNum);
|
||||
//文件大于0时读取
|
||||
if(fileTotalSize>0){
|
||||
//循环读取
|
||||
for(int current = 0; current<pageNum; current ++){
|
||||
byte[] bytes = readBlock(path, current);
|
||||
//字节数组转为字符串
|
||||
String readStr = new String(bytes);
|
||||
System.out.println("读取到:" + readStr);
|
||||
//把字节数组转为hex
|
||||
String hexStr = Convert.toHex(bytes);
|
||||
System.out.println("hexStr:" + hexStr);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//获取文件大小
|
||||
static long getFileSize(String path) {
|
||||
try {
|
||||
RandomAccessFile raf = new RandomAccessFile(path, "r");
|
||||
long length = raf.length();
|
||||
raf.close();
|
||||
return length;
|
||||
} catch (FileNotFoundException e) {
|
||||
return 0;
|
||||
}catch (IOException e){
|
||||
log.error(e.getMessage());
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
//按位置分块读取文件内容
|
||||
static byte[] readBlock(String path, int pointer) throws Exception {
|
||||
//RandomAccessFile raf = new RandomAccessFile("D:/temp/startBasedata.sh", "r");
|
||||
//RandomAccessFile raf = new RandomAccessFile("D:/temp/2.txt", "r");
|
||||
RandomAccessFile raf = new RandomAccessFile(path, "r");
|
||||
long length = raf.length();
|
||||
System.out.println("文件大小:" + length);
|
||||
//设置指针的位置,每次有偏移
|
||||
int perSize = 10;
|
||||
raf.seek(pointer * perSize);
|
||||
//每次读取10字节,这个应该改为参数配置
|
||||
byte[] bytes = new byte[10];
|
||||
int readSize = raf.read(bytes);
|
||||
//如果没有读到10个字节,需要做数组拷贝
|
||||
//读取时判断是否还有剩余字节
|
||||
if (readSize < perSize) {
|
||||
byte[] copy = new byte[readSize];
|
||||
System.arraycopy(bytes, 0, copy, 0, readSize);
|
||||
raf.close();
|
||||
return copy;
|
||||
}
|
||||
raf.close();
|
||||
return bytes;
|
||||
}
|
||||
|
||||
|
||||
static void writeBlock(MultipartFile file) throws Exception {
|
||||
File fileupload = new File("");
|
||||
RandomAccessFile raf = new RandomAccessFile("D:\\t1.txt", "rw");
|
||||
raf.writeBytes("Hello World!234344444444444444444333\r\n");
|
||||
raf.writeBytes("3222222222222222222222222222");
|
||||
//raf.writeBoolean(true);
|
||||
//raf.writeInt(30);
|
||||
//raf.writeDouble(3.56);
|
||||
raf.close();
|
||||
}
|
||||
|
||||
}
|
||||
24
user-service/src/test/java/DayTest.java
Normal file
24
user-service/src/test/java/DayTest.java
Normal file
@ -0,0 +1,24 @@
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.ho.common.tools.constant.CommonConstant;
|
||||
|
||||
/**
|
||||
* @author fancl
|
||||
* @desc:
|
||||
* @date 2022/12/7
|
||||
*/
|
||||
public class DayTest {
|
||||
public static void main(String[] args) {
|
||||
String currentStartDay =null;
|
||||
String currentEndDay=null;
|
||||
String lastMonthStartDay;
|
||||
String lastMonthEndDay;
|
||||
String lastYearStartDay=null;
|
||||
String lastYearEndDay=null;
|
||||
String yearStr ="2022";
|
||||
String currentDay="2022-11-05";
|
||||
//月份所对应的时间对象
|
||||
String lastMonthSameDay = DateUtil.format(DateUtil.offsetDay(DateUtil.parse(currentDay), -30), CommonConstant.DATE_YMD);
|
||||
System.out.println();
|
||||
|
||||
}
|
||||
}
|
||||
20
user-service/src/test/java/DemoDto.java
Normal file
20
user-service/src/test/java/DemoDto.java
Normal file
@ -0,0 +1,20 @@
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author fancl
|
||||
* @desc:
|
||||
* @date 2022/8/25
|
||||
*/
|
||||
@ToString
|
||||
@Getter
|
||||
@Setter
|
||||
public class DemoDto {
|
||||
String IocPut ;
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
}
|
||||
42
user-service/src/test/java/EncTest.java
Normal file
42
user-service/src/test/java/EncTest.java
Normal file
@ -0,0 +1,42 @@
|
||||
import com.ho.common.tools.util.AESEncryptUtil;
|
||||
import com.ho.common.tools.util.RSAUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @author fancl
|
||||
* @desc:
|
||||
* @date 2022/11/15
|
||||
*/
|
||||
@Slf4j
|
||||
public class EncTest {
|
||||
public static void main(String[] args) {
|
||||
String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCuG6ZABNgLQCI9iVPDuJEb7xb5zR9UGKyKXshLuJFZxyNtaEzfpjSMqsshUYA1QpwUvkmZE0lcRE4F4QtZO9rDnH2PoW1FWRbjgg0+MKWOmZr9hSPKM/BIE+knTtTaj4/0TK7QwDd9q/QAIduC1hIyxIIkxfWx0gFuTnxui0waCwIDAQAB";
|
||||
String privKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAK4bpkAE2AtAIj2JU8O4kRvvFvnNH1QYrIpeyEu4kVnHI21oTN+mNIyqyyFRgDVCnBS+SZkTSVxETgXhC1k72sOcfY+hbUVZFuOCDT4wpY6Zmv2FI8oz8EgT6SdO1NqPj/RMrtDAN32r9AAh24LWEjLEgiTF9bHSAW5OfG6LTBoLAgMBAAECgYA614NfXYO6galQzMmvewAnxa0pLYbqABDIDvJ4jN8qzV+OyVI5v81AwTQ3hXjkBygC5rCu+FKxyS/pUr5oIQ90vbKvy+kozg9l0qWHfa8XrfC+E36CVuDrZYdZzl0C6J6BoNB9osJJ6HCnMA7kWLRRwU5VJBsK8CmgcJlfHNH60QJBAPz4rZgqgor69SonHG4xjRz+u4QkXIP8I+lorBSFEuUF03u22Kcxz7mcOq63m8K+oc22ql0g8QNrq6YPrEgpAPMCQQCwMUQcdZLWJrRbHp1ZA3jbt4vYg7xb1LklAM6Qmz1R9xVY0itDMtFRSTlVnrbTPZ+rldrkLUOzLJwKLHniIQiJAkEAmfeBMKwu6Af2T8GePDNMf+lKmBLJfEtqUBW1JogYB+yT2yhelORsWbwMu2plExKTyHD1H9l812ghAOFpKkJKoQJBAJ7lz2dbIXHAtib3FTCR0Q1WGujI5bZrwg19DM2dM1AYZUgVQq73xY5pWyu8V2VqzfUQ0Le3mracJJ2IPuOQpwECQF/b7Tv3auIHRaO9AD7xWIOCMYGlKhqeheMZb/mDRHedsdRvigiojDaaFbtnkvXlRbWlkOu5P5GNDpv7EuPbUs8=";
|
||||
//AES加解密
|
||||
//String aesKey = AESEncryptUtil.generateKeyAndIv();
|
||||
//String iv = AESEncryptUtil.generateKeyAndIv();
|
||||
String aesKey = "1111111111111111";
|
||||
String iv = "2222222222222222";
|
||||
log.info("aesKey: {} ,iv:{}" ,aesKey ,iv);
|
||||
//先加密
|
||||
String plainText = "666666";
|
||||
log.info("原始内容: {}" ,plainText);
|
||||
String encryptData = AESEncryptUtil.encrypt(plainText, aesKey, iv);
|
||||
log.info("密码加密后: {}" ,encryptData);
|
||||
//对密钥加密
|
||||
String aesKeyEnc = RSAUtil.encode(aesKey, publicKey);
|
||||
String ivEnc = RSAUtil.encode(iv, publicKey);
|
||||
log.info("aesKeyEnc: {}" ,aesKeyEnc );
|
||||
log.info("ivEnc:{}", ivEnc );
|
||||
//解密
|
||||
//对密钥解密
|
||||
String aesKeyPlain = RSAUtil.decode(aesKeyEnc, privKey);
|
||||
String ivPlain = RSAUtil.decode(ivEnc, privKey);
|
||||
log.info("解密后: aesKeyPlain:{}" ,aesKeyPlain);
|
||||
log.info("解密后: ivPlain:{}" ,ivPlain);
|
||||
String srcPlain = AESEncryptUtil.decrypt(encryptData, aesKeyPlain ,ivPlain);
|
||||
log.info("解密后密码: {}" ,srcPlain);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
32
user-service/src/test/java/RSATest.java
Normal file
32
user-service/src/test/java/RSATest.java
Normal file
@ -0,0 +1,32 @@
|
||||
import com.ho.common.tools.util.RSAUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @author fancl
|
||||
* @desc: AES 加解密demo
|
||||
* @date 2022/11/15
|
||||
*/
|
||||
@Slf4j
|
||||
public class RSATest {
|
||||
public static void main(String[] args) {
|
||||
String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCuG6ZABNgLQCI9iVPDuJEb7xb5zR9UGKyKXshLuJFZxyNtaEzfpjSMqsshUYA1QpwUvkmZE0lcRE4F4QtZO9rDnH2PoW1FWRbjgg0+MKWOmZr9hSPKM/BIE+knTtTaj4/0TK7QwDd9q/QAIduC1hIyxIIkxfWx0gFuTnxui0waCwIDAQAB";
|
||||
String privKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAK4bpkAE2AtAIj2JU8O4kRvvFvnNH1QYrIpeyEu4kVnHI21oTN+mNIyqyyFRgDVCnBS+SZkTSVxETgXhC1k72sOcfY+hbUVZFuOCDT4wpY6Zmv2FI8oz8EgT6SdO1NqPj/RMrtDAN32r9AAh24LWEjLEgiTF9bHSAW5OfG6LTBoLAgMBAAECgYA614NfXYO6galQzMmvewAnxa0pLYbqABDIDvJ4jN8qzV+OyVI5v81AwTQ3hXjkBygC5rCu+FKxyS/pUr5oIQ90vbKvy+kozg9l0qWHfa8XrfC+E36CVuDrZYdZzl0C6J6BoNB9osJJ6HCnMA7kWLRRwU5VJBsK8CmgcJlfHNH60QJBAPz4rZgqgor69SonHG4xjRz+u4QkXIP8I+lorBSFEuUF03u22Kcxz7mcOq63m8K+oc22ql0g8QNrq6YPrEgpAPMCQQCwMUQcdZLWJrRbHp1ZA3jbt4vYg7xb1LklAM6Qmz1R9xVY0itDMtFRSTlVnrbTPZ+rldrkLUOzLJwKLHniIQiJAkEAmfeBMKwu6Af2T8GePDNMf+lKmBLJfEtqUBW1JogYB+yT2yhelORsWbwMu2plExKTyHD1H9l812ghAOFpKkJKoQJBAJ7lz2dbIXHAtib3FTCR0Q1WGujI5bZrwg19DM2dM1AYZUgVQq73xY5pWyu8V2VqzfUQ0Le3mracJJ2IPuOQpwECQF/b7Tv3auIHRaO9AD7xWIOCMYGlKhqeheMZb/mDRHedsdRvigiojDaaFbtnkvXlRbWlkOu5P5GNDpv7EuPbUs8=";
|
||||
|
||||
|
||||
String aesKeyEnc = "oOk2Ib+ow/K105g8jGBkXZ3EYH1zmBO+keqM2m2nMpWeQEM838/brxS5LX8Knh3oxhkO/7Nv1Q3t8z8eCoYTNjYkxDevqfz7ZV4Mau5rJVMyfG5i3A9GHp4XjuFVnZYcO69rmFqiY7btZJ17NQG/tF3RJF0RgkEWi0bbpFBLNug=";
|
||||
String ivEnc = "H8La8vX9louUX2B5RciVrvn2VTBLQAbmUKv++1mvwp+eF0MnQcFC7lI3GzIFGHDEEWlCjOEiIvGaeNmU80AL//Tnn2Rti5MgPwe0lHRMsBjLDtaL3H/GYtKeCYvluPeQDHHOwZWvjucEhQ9k/GWMQNZCVmL/Ve1zKxAANCf43yw=";
|
||||
log.info("aesKeyEnc: {}" ,aesKeyEnc );
|
||||
log.info("ivEnc:{}", ivEnc );
|
||||
|
||||
//解密
|
||||
//对密钥解密
|
||||
String aesKeyPlain = RSAUtil.decode(aesKeyEnc, privKey);
|
||||
String ivPlain = RSAUtil.decode(ivEnc, privKey);
|
||||
log.info("解密后: aesKeyPlain:{}" ,aesKeyPlain);
|
||||
log.info("解密后: ivPlain:{}" ,ivPlain);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
57
user-service/src/test/java/com/ho/user/DeptTest.java
Normal file
57
user-service/src/test/java/com/ho/user/DeptTest.java
Normal file
@ -0,0 +1,57 @@
|
||||
package com.ho.user;
|
||||
|
||||
import com.ho.common.tools.entity.SysPermission;
|
||||
import com.ho.user.api.entity.SysDept;
|
||||
import com.ho.user.mapper.SysPermissionMapper;
|
||||
import com.ho.user.service.DeptService;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description TODO
|
||||
* Author yule
|
||||
* Date 2023/3/6 15:00
|
||||
*/
|
||||
@SpringBootTest
|
||||
@RunWith(SpringRunner.class)
|
||||
public class DeptTest {
|
||||
|
||||
|
||||
@Autowired
|
||||
DeptService deptService;
|
||||
|
||||
|
||||
@Test
|
||||
public void testDeptByPid(){
|
||||
List<SysDept> depts = deptService.selectByGroupId(1);
|
||||
Map<Integer,SysDept> map = new HashMap<>();
|
||||
for (SysDept dept : depts) {
|
||||
map.put(dept.getId(),dept);
|
||||
}
|
||||
for (SysDept dept : depts) {
|
||||
int hierarchy = deptService.getHierarchy(map, dept, 1);
|
||||
dept.setHierarchy(hierarchy);
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
SysPermissionMapper sysPermissionMapper;
|
||||
|
||||
@Test
|
||||
public void testAddPermissionMapper(){
|
||||
SysPermission sysPermission = new SysPermission();
|
||||
sysPermission.setName("111");
|
||||
int i = sysPermissionMapper.insertSelective(sysPermission);
|
||||
System.out.println(i);
|
||||
System.out.println(sysPermission.getId());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user