반응형

오랜만에 스프링 프레임워크를 사용하지 않는 jsp 프로젝트에서 썸네일을 만드는 일이 있었습니다.


jsp 파일에서 썸네일 이미지를 만드는 간단한 과정을 설명합니다.


maven을 사용하는 프로젝트가 아니므로 아래의 파일을 다운받아, 프로젝트 lib안에 넣습니다.

(이클립스에서 jar파일을 lib에 추가하는 방법은, 해당프로젝트 선택 - 마우스 우클릭 - properties - java build path - libraries - add JARs...)


JimiProClasses.jar


그리고 아래와 같은 간단한 소스를 통해 썸네일을 만들도록 합니다.


여기서는 이미지 업로드에 대한 부분은 생략 했으며, 기존 이미지가 올라간 상황에서 만드는 방법입니다.

이미지 업로드 직후 아래와 같은 소스를 통해 썸네일을 만들수 있다는 얘기입니다.



*추가 내용으로 썸네일을 만들경우, 이미지는 원하는 사이즈가 아닌 비율에 맞게 자동으로 조절이 됩니다.
 비율을 무시하고 지정한 사이즈로 만드는 방법은 해당 jar파일을 decompile해서 소스를 수정해야 합니다.
 http://blog.naver.com/sabisung/80057633616 해당 블로거님이 jar파일을 수정한 것을 올려주셨습니다.

( 수정한 것을 제 블로그에 올릴수는 없으니 필요하시면 가서 다운받으시면 될듯합니다. )

반응형

'JSP' 카테고리의 다른 글

SSL없이 JSP암호화 하기(RSA 암호화)  (2) 2015.06.25
반응형

 rsa_js.zipRSA.java

홈페이지 SSL을 사용할 수 없는경우에 개인정보를 암호화 처리를 하여 전송을 하여야하는데 그방법중 하나가 RSA 암호화 입니다. 

첫번째 RSA.java 파일 생성(첨부파일:RSA.java)

RSA.java  파일은 RSA암호화를 위해 공개키와 개인키를 생성하여 암호화 복호화를 실행하는 부분입니다.

 

두번째 로그인 페이지(jsp)로 넘어가는 자바에서 RSA.java에서 키값을 받아온다.

RSA rsa = RSA.getEncKey();
request.setAttribute("publicKeyModulus", rsa.getPublicKeyModulus());
request.setAttribute("publicKeyExponent", rsa.getPublicKeyExponent());
request.getSession().setAttribute("__rsaPrivateKey__", rsa.getPrivateKey());

 

세번째 로그인을 실행하는 jsp파일에서 자바스크립트 파일을 추가하고,                           (첨부파일:RSA_js.zip)

<script type="text/javascript" src="../js/util/jsbn.js"></script>
<script type="text/javascript" src="../js/util/rsa.js"></script>
<script type="text/javascript" src="../js/util/prng4.js"></script>
<script type="text/javascript" src="../js/util/rng.js"></script>

아이디와 비밀번호를 전송하기전에 암호화 처리를 해준다.(자바스크립트로 처리)

var rsaPublicKeyModulus = document.getElementById("rsaPublicKeyModulus").value;
var rsaPublicKeyExponent = document.getElementById("rsaPublicKeyExponent").value;
var encPassword = fnRsaEnc(document.getElementById("userPw").value, rsaPublicKeyModulus, rsaPublicKeyExponent);
document.frm.encPw.value = encPassword;

 

function fnRsaEnc(value, rsaPublicKeyModulus, rsaPpublicKeyExponent) {

    var rsa = new RSAKey();

    rsa.setPublic(rsaPublicKeyModulus, rsaPpublicKeyExponent);


     var encValue = rsa.encrypt(value);     // 사용자ID와 비밀번호를 RSA로 암호화한다.

     return encValue;

}


(

*암호화 처리를 위해 jsp페이지 안에서 rsaPublicKeyModulus, rsaPublicKeyExponent, encPassword 를 input type="hidden" 처리를 해줘야한다.

ex)<input type="hidden" id="rsaPublicKeyModulus" value="${publicKeyModulus}">

<input type="hidden" id="rsaPublicKeyExponent" value="${publicKeyExponent}">

<input type="hidden" name="encPw" value="">

)

 

마지막으로 로그인을 처리하는 java파일에서 암호화된 비밀번호를 복호화한 후 로그인 처리를 하면 된다.

String encPw = DataUtil.notnull(param.get("encPw"));//암호화된 비밀번호를 받는다.
String decPw = RSA.decryptRsa((PrivateKey) request.getSession().getAttribute("__rsaPrivateKey__"), encPw);//암호화된 비밀번호를 복호화한다.

param.put("userPw", decPw);

 

 

반응형

'JSP' 카테고리의 다른 글

JSP 썸네일 이미지 만들기 (thumbnail)  (0) 2017.02.27

+ Recent posts