안녕하세요 암호화 질문 입니다.
- 작성자 :
- 정*훈
- 작성일 :
- 2015-04-08 10:28:17
- 조회수 :
- 1,310
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요
현재 패스워드 암호화를 쓰고 있는데
context-crypto.xml 열어보니 egovframework.rte.fdl.crypto.impl.EgovEDcryptionPasswdServlceImpl 이부분이
패스워드 암호화와 연결된거 같아
소스를 보니
public byte[] encrypt() {
// TODO Auto-generated method stub
if(callcnt <= 0)
{
logger.debug("IN callcnt: "+callcnt);
if(!algorithm.equals(""))
passwordEncryptor.setAlgorithm(algorithm);
else
passwordEncryptor.setAlgorithm("SHA-1");
passwordEncryptor.setPlainDigest(isplan);
}
String rtn_str = passwordEncryptor.encryptPassword(str_or_file);
rt_buf = rtn_str.getBytes();
callcnt ++;
logger.debug("callcnt : "+callcnt);
return rt_buf;
}
이걸로 Controller딴에서 cryptoHelper.encryptPassword를 호출하여 쓰고 있습니다.
/**
* 비밀번호 암호화 적용
* @throws UnsupportedException
*/
public String encryptPassword(String password) throws UnsupportedException{
cryptoPwd.setPlainDigest(true);
cryptoPwd.setConfig(-1, password);
cryptoPwd.setAlgorithm("");
byte ret_encryt[] = cryptoPwd.encrypt();
return new String(ret_encryt);
}
궁금한건 주석을 보니 2009년도에 개발된거 같은데 이것보다 혹시 상위버전이 나왔는지 궁금하고
두번째로 현재 이암호화 알고리즘은 바이트가 1.XX 아니면 2.XX 비트수를 알고 싶어서 게시판에 문의 드립니다.
세번째로 이 패스워드 암호화는 단방향으로 복구화 할 수 없는지 알 수 있는지 궁금합니다.
답변 부탁드립니다.
현재 패스워드 암호화를 쓰고 있는데
context-crypto.xml 열어보니 egovframework.rte.fdl.crypto.impl.EgovEDcryptionPasswdServlceImpl 이부분이
패스워드 암호화와 연결된거 같아
소스를 보니
public byte[] encrypt() {
// TODO Auto-generated method stub
if(callcnt <= 0)
{
logger.debug("IN callcnt: "+callcnt);
if(!algorithm.equals(""))
passwordEncryptor.setAlgorithm(algorithm);
else
passwordEncryptor.setAlgorithm("SHA-1");
passwordEncryptor.setPlainDigest(isplan);
}
String rtn_str = passwordEncryptor.encryptPassword(str_or_file);
rt_buf = rtn_str.getBytes();
callcnt ++;
logger.debug("callcnt : "+callcnt);
return rt_buf;
}
이걸로 Controller딴에서 cryptoHelper.encryptPassword를 호출하여 쓰고 있습니다.
/**
* 비밀번호 암호화 적용
* @throws UnsupportedException
*/
public String encryptPassword(String password) throws UnsupportedException{
cryptoPwd.setPlainDigest(true);
cryptoPwd.setConfig(-1, password);
cryptoPwd.setAlgorithm("");
byte ret_encryt[] = cryptoPwd.encrypt();
return new String(ret_encryt);
}
궁금한건 주석을 보니 2009년도에 개발된거 같은데 이것보다 혹시 상위버전이 나왔는지 궁금하고
두번째로 현재 이암호화 알고리즘은 바이트가 1.XX 아니면 2.XX 비트수를 알고 싶어서 게시판에 문의 드립니다.
세번째로 이 패스워드 암호화는 단방향으로 복구화 할 수 없는지 알 수 있는지 궁금합니다.
답변 부탁드립니다.
A
정근훈님 안녕하세요.
현재 표준프레임워크에서 사용하는
암호화 api는 jasypt 1.9.2입니다.
암호화키는 setAlgorithm 설정에 따라 달라집니다.
아래 문서를 참고하시기 바랍니다.
http://docs.oracle.com/javase/1.5.0/docs/guide/security/CryptoSpec.html#AppA
자세하 사항은 아래 위키를 참조하시면 될듯합니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:rte2:fdl:encryption_decryption
단방향 암호화는 MD5, SHA-1, SHA-256 등이 있으니 참고하시고
높은 보안수준을 위해서 몇개를 병행해서 사용하기도 하니 참고 하십시요.
현재 표준프레임워크에서 사용하는
암호화 api는 jasypt 1.9.2입니다.
암호화키는 setAlgorithm 설정에 따라 달라집니다.
아래 문서를 참고하시기 바랍니다.
http://docs.oracle.com/javase/1.5.0/docs/guide/security/CryptoSpec.html#AppA
자세하 사항은 아래 위키를 참조하시면 될듯합니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:rte2:fdl:encryption_decryption
단방향 암호화는 MD5, SHA-1, SHA-256 등이 있으니 참고하시고
높은 보안수준을 위해서 몇개를 병행해서 사용하기도 하니 참고 하십시요.