package 패키지.encrypt;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Random;
public class SHA256Util {
public static String getEncrypt(String source, String salt) {
return getEncrypt(source, salt.getBytes());
}
public static String getEncrypt(String source, byte[] salt) {
String result = "";
byte[] a = source.getBytes();
byte[] bytes = new byte[a.length + salt.length];
System.arraycopy(a, 0, bytes, 0, a.length);
System.arraycopy(salt, 0, bytes, a.length, salt.length);
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(bytes);
byte[] byteData = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i] & 0xFF) + 256, 16).substring(1));
}
result = sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return result;
}
public static String generateSalt() {
Random random = new Random();
byte[] salt = new byte[8];
random.nextBytes(salt);
StringBuffer sb = new StringBuffer();
for (int i = 0; i < salt.length; i++) {
sb.append(String.format("%02x",salt[i]));
}
return sb.toString();
}
}

--암호화생성부분--
String salt=SHA256Util.generateSalt();
String newPw=SHA256Util.getEncrypt("password", salt);
salt+newPw 저장
비교시에
newPw.equals(SHA256Util.getEncrypt(입력Pw, salt))


'DEV > Spring&Java' 카테고리의 다른 글

Spring Iterator  (0) 2018.10.05
Spring 인터셉터 Intercepter  (0) 2018.10.05
Spring Jxls 엑셀다운로드  (0) 2018.10.05
Javascript에서 ajax 많은데이터 넘길때  (0) 2018.10.05
Spring ajax통신  (0) 2018.10.05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
--pom.xml 디펜던시 추가--
<!-- 액셀 jxls-->
        <dependency>
            <groupId>org.jxls</groupId>
            <artifactId>jxls</artifactId>
            <version>2.4.3</version>
        </dependency>
        
        <dependency>
            <groupId>org.jxls</groupId>
            <artifactId>jxls-poi</artifactId>
            <version>1.0.14</version>
        </dependency>
        
        <dependency>
            <groupId>org.jxls</groupId>
            <artifactId>jxls-jexcel</artifactId>
            <version>1.0.6</version>
        </dependency>
        
        <dependency>
            <groupId>org.jxls</groupId>
            <artifactId>jxls-reader</artifactId>
            <version>2.0.3</version>
        </dependency>
        
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>
        
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>
        
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>3.17</version>
        </dependency>
 
--자바소스--
List<Map<String, Object>> list=서비스.겟리스트(search);
        String tempPath = request.getSession().getServletContext().getRealPath("/resources/excel/template");
        try(InputStream is = new BufferedInputStream(new FileInputStream(tempPath+"/템플릿.xlsx"))) {
            response.setHeader("Content-Disposition""attachment; filename=\"" + "다운받을파일명" + ".xlsx\"");            
            try (OutputStream os = response.getOutputStream()) {
                Context context = new Context();
                context.putVar("list", list);
                JxlsHelper.getInstance().processTemplate(is, os, context);
            }
        }
    }
 
--엑셀--
제목부분 메모
user: 
jx:area(lastCell="Q5")
첫번째셀 메모
user: 
jx:each(items="list" var="data" lastCell="Q5")
셀에들어가는내용
${data.key}
 
cs



2. 메모x forEach 사용안해도됨 workbook사용 XLSTransformer사용

엑셀 ${list.A}


시트네임설정

Context context = PoiTransformer.createInitialContext();
Workbook workbook = WorkbookFactory.create(templateInputStream);
workbook.setSheetName(0, "newName");//Changing name of the first sheet
PoiTransformer transformer = PoiTransformer.createTransformer(workbook);
transformer.setOutputStream(resultOutputstream);
JxlsHelper.getInstance().processTemplate(context, transformer);


'DEV > Spring&Java' 카테고리의 다른 글

Spring 인터셉터 Intercepter  (0) 2018.10.05
SHA256 암호화 키  (0) 2018.10.05
Javascript에서 ajax 많은데이터 넘길때  (0) 2018.10.05
Spring ajax통신  (0) 2018.10.05
Spring Mysql DB연동  (0) 2018.10.05
1
2
3
4
5
6
//javascript
$.ajax({
 data:{params:JSON.stringify(객체)}
})
//Controller
JSONObject jsonObject=JSONObject.fromObject(request.getParameter("params"));
cs


'DEV > Spring&Java' 카테고리의 다른 글

Spring 인터셉터 Intercepter  (0) 2018.10.05
SHA256 암호화 키  (0) 2018.10.05
Spring Jxls 엑셀다운로드  (0) 2018.10.05
Spring ajax통신  (0) 2018.10.05
Spring Mysql DB연동  (0) 2018.10.05

DEV/Spring&Java

Spring ajax통신

2018. 10. 5. 17:13
//Controller
public void 메소드(HttpServletRequest request, HttpServletResponse response) throws Exception {
JSONObject jsonObject = new JSONObject();
JSONObject search = new JSONObject();
search.put("name", value);
service.method(search, jsonObject);
response.setContentType("application/x-json; charset=UTF-8");
response.getWriter().print(jsonObject);
}
//Service
public void 메소드(JSONObject search, JSONObject jsonObject) throws java.lang.Exception {
List> list = dao.method(search);
if(list != null && list.size() > 0) {
jsonObject.put("data", JSONArray.fromObject(list));
} else {
jsonObject.put("data", null);
}
}


'DEV > Spring&Java' 카테고리의 다른 글

Spring 인터셉터 Intercepter  (0) 2018.10.05
SHA256 암호화 키  (0) 2018.10.05
Spring Jxls 엑셀다운로드  (0) 2018.10.05
Javascript에서 ajax 많은데이터 넘길때  (0) 2018.10.05
Spring Mysql DB연동  (0) 2018.10.05