암호화를 하라고한다. md5 귀찮다 Base64 Encoding 해서 못알아보게 만 한다. ㅋㅋ
ex1) Java Package
ex2) Java Script (Base64 Encoding 공식을 이용)
ex1) Java Package
/** * Base64Utils.java * * Created on 2007년 10월 16일 (화), 오후 2:22 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package fuel.Util; import sun.misc.*; import java.io.*; /** * * @author ilu */ public class Base64Utils { /** Creates a new instance of Base64Utils */ public Base64Utils() { } /** * Base64Encoding 방식으로 바이트 배열을 아스키 문자열로 인코딩한다. * In-Binany, Out-Ascii * * @param encodeBytes 인코딩할 바이트 배열(byte[]) * @return 인코딩된 아스키 문자열(String) */ public static String encode(byte[] encodeBytes) { byte[] buf = null; String strResult = null; BASE64Encoder base64Encoder = new BASE64Encoder(); ByteArrayInputStream bin = new ByteArrayInputStream(encodeBytes); ByteArrayOutputStream bout = new ByteArrayOutputStream(); try { base64Encoder.encodeBuffer(bin, bout); } catch (Exception e) { System.out.println("Exception"); e.printStackTrace(); } buf = bout.toByteArray(); strResult = new String(buf).trim(); return strResult; } /** * Base64Decoding 방식으로 아스키 문자열을 바이트 배열로 디코딩한다. * In-Ascii, Out-Binany * * @param strDecode 디코딩할 아스키 문자열(String) * @return 디코딩된 바이트 배열(byte[]) */ public static byte[] decode(String strDecode) { byte[] buf = null; BASE64Decoder base64Decoder = new BASE64Decoder(); ByteArrayInputStream bin = new ByteArrayInputStream(strDecode.getBytes()); ByteArrayOutputStream bout = new ByteArrayOutputStream(); try { base64Decoder.decodeBuffer(bin, bout); } catch (Exception e) { System.out.println("Exception"); e.printStackTrace(); } buf = bout.toByteArray(); return buf; } // public static void main(String args[]) // { // String strOrgin = "Monky"; // String strDecode = null; // byte[] bytOrgin = strOrgin.getBytes(); // System.out.println("OriginString=" + strOrgin); // // String strEncoded = Base64Utils.encode(bytOrgin); // System.out.println("EncodedString=" + strEncoded); // // byte[] bytDecoded = Base64Utils.decode(strEncoded); // strDecode = new String(bytDecoded); // System.out.println("DecodedString=" + strDecode); // } }
ex2) Java Script (Base64 Encoding 공식을 이용)
/* Encode & Decode Javascript */ var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; function encode64(input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; do { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4); } while (i < input.length); return output; } function decode64(input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; // remove all characters that are not A-Z, a-z, 0-9, +, /, or = input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); do { enc1 = keyStr.indexOf(input.charAt(i++)); enc2 = keyStr.indexOf(input.charAt(i++)); enc3 = keyStr.indexOf(input.charAt(i++)); enc4 = keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } while (i < input.length); return output; } function encode64Han(str) { return encode64(escape(str)) } function decode64Han(str) { return unescape(decode64(str)) }사실 좀더 빡시게 할려면 여기서 암호화를 한번 더해야하는데 하지못햇슴 뭐 SSL로 보안을 하고있는데 또 암호화를 하라니. 이런 젠장. Base64 Encoding 은 암호화하기 전에 실행하는 암호화 전단계로 알고있슴.