암호화 모듈에는 me5 와 sha-256 두가지가 있는것으로 알고 있습니다.
다른 암호화 모듈이 있으면 알려주세요~ㅎㅎ
둘다 암호화 처리를 하여 디비에 저장하고, 복호화 처리가 불가능한것으로 알고 있지만,
혹시 복호화 처리가 가능한 부분이 있으면 저도 알려주세요^^;;
먼저 암호화처리를 하기전 UTIL을 생성하도록 하겠습니다.
FileSecurityMd라는 이름의 class를 생성합니다.
public class FileSecurityMd {
public static String MD5(String str){
String MD5 = "";
try{
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
byte byteData[] = md.digest();
StringBuffer sb = new StringBuffer();
for(int i = 0 ; i < byteData.length ; i++){
sb.append(Integer.toString((byteData[i]&0xff) + 0x100, 16).substring(1));
}
MD5 = sb.toString();
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
MD5 = null;
}
return MD5;
}
}
생성한 FileSecurityMd 클래스는 java/com/spring/util 폴더에 생성 및 저장하였습니다.
이제 form에서 입력받은 비밀번호를 Controller->Service->impl->dao->디비처리 및 저장 후 sysout로 값을
확인해보도록 하겠습니다.
Controller 소스 작성을 하도록 하겠습니다.
// md5security
@RequestMapping("/mdsecurity")
public String mdsecurity(MdSecurityVo mdsecurityvo) throws Exception {
// ============비밀번호암호화============//
String enpassword = FileSecurityMd.MD5(mdsecurityvo.getPass());
mdsecurityvo.setPass(enpassword);
// ============비밀번호암호화============//
mainservice.testinsert(mdsecurityvo);
System.out.println(mdsecurityvo.getPass());
return "redirect:/passinsert";
}
소스를 작성해보면 오류가 발생하는 부분이 있을겁니다.
MdSecurityVo 는 아직 생성전단계이기때문에 생성해주시면 되고
FileSecurityMd 는 앞에서 만든 UTIL 만 임포트 시켜주시면 됩니다.
다른 부분에도 빨간줄이 발생할수 있습니다. 현재생성한것은 FileSecurityMd.java 뿐이기 때문에 다른 부분을
생성하기 전에는 오류가 발생할수 있습니다.
MdSecurityVo를 생성하도록 하겠습니다. 해당 목록에 마우스 우클릭후 class로 생성하시면 되고,
경로는 자신이 생성하고 싶은 경로를 적어주시면 됩니다.
저는 java/com/spring/vo 에 모든 vo를 생성하도록 하겠습니다.
생성이 완료되면
package com.spring.vo;
public class MdSecurityVo {
}
이런 소스가 생성되고 저는 현재pass 즉 비밀번호 처리만 확인하는 부분이라
private String pass; 만 만들도록 하겠습니다.
public class MdSecurityVo {
private String pass;
}
기재한 pass; 밑에 단축키를이용하여 Getter/Setter를 생성합니다. 단축키는 Alt + Shift + S + R 입니다. 이제
Vo에대한 처리는 완료되었습니다.
Vo에대한 처리가 완료되어 Controller소스를 확인해보면 위 Controller 이미지에서 확인되어지는
mainservice.testinsert(mdsecurityvo); 부분에 빨간줄이 발생합니다.
저는 mainservice.mdsecurityok(mdsecurityvo); 로 변경하여 진행하겠습니다.
service에서 찾을수 없어 오류가 발생하는 부분이기에 마우스를 가져가시면
create method MainService라고 나오는데 클릭하여 생성하시면 됩니다.
그전에 설정은 다 세팅 해놓으셔야 합니다. 모르시는 분들은 블로그 기타등등->[JAVA개발] 에서 찾으세요 ㅎㅎ
생성완료!!!
생성이 완료되면 sevice와 연결된 impl애서 오류가 발생합니다. 해당페이지로 이동하여 Add해줍니다.
마우스를 해당 오류부분으로 가지고가 나오는 Add를 해주면 소스가 자동 생성됩니다.
소스가 생성한 부분 안에 자신이 미리 만들어 놓은 dao와 연결해주면 됩니다.
자신이 만든dao.까먹지않게동일한이름으로 주었습니다(생성한Vo);
maindao.mdsecurityok(mdsecurityvo);
동일하게 Create를 클릭하여 dao페이지에 소스를 생성해 줍니다.
생성된 소스에 해당 내용을 추가해 줍니다.
추가시 암호화된 비밀번호를 등록처리 하기 때문에 insert를 사용합니다.
마지막으로 미리 생성한 xml페이지에서 쿼리문을 작성해 주시면 됩니다.
insert 시 parameterType값만 작성하면 되지만 select시 resultType도 기재하셔야 합니다.
insert문을 작성하고 jsp에 폼을 생성하겠습니다.
jsp 페이지는 Controller에 새로운 소스를 작성해 생성합니다.
passinsert라고 생성하겠습니다.
input text 타입의 pass를 받아 스크립트를 통해 mdsecurity를 submit해 처리 됩니다.
서버실행후 passinsert 접속시 정상 폼값이 나옵니다.
폼값에 1234를 넣어 전송하겠습니다.
정상적으로 1234숫자가 암호화로 변경되어 저장된것을 확인하였습니다.
혹시모르니 자작 모자이크 처리 하겠습니다 ;;
감사합니다^^
'JAVA개발' 카테고리의 다른 글
[JAVA 개발] datepicker UI를 통한 달력생성 (0) | 2015.06.30 |
---|---|
[JAVA 개발] SHA 암호화 처리로 비밀번호 암호화 하기 (0) | 2015.06.29 |
[JAVA 개발] 랜덤값으로 쿠폰번호생성하기 (0) | 2015.06.26 |
[JAVA개발] favicon 아이콘 만들기 (0) | 2015.06.26 |
[JAVA개발] zxing라이브러리를 이용하여 QR코드생성 (0) | 2015.06.24 |