전체 글: 407개의 글

[비상금통장] cma에 대하여

Posted by ironmask84
2013. 8. 17. 13:30 재테크


cma 통장,  알기 어려운 영어 이름이지만, 많은 분들이 너무 자주 들어서 익숙해졌을 겁니다^^

cma 통장은 Cash Management Account의 줄임말 입니다.

우리 말로 하면 현금 관리 통장이라고 해석이 되는데요..

 

통장의 특성상 현금 처럼 아무때나 꺼내서 쓸 수 있는 것이 장점이며
하루만 맡겨도 3~4.0%의 시중금리가 이자로 붙어서 비상금 통장에 제격입니다.

 


오늘 글에서는 비상금 통장에 사용하면 딱, 좋은 cma 통장에 대해서..
금리비교부터 추천 상품들까지 살펴보겠습니다.

 

 

 

 

 

 

내용을 읽기에 앞서 비상금통장을 왜 만들어야 하는지?
통장쪼개기와 현금흐름 자산관리는 어떻게 준비해야 하는지?

..에 대해서 먼저 읽을 글이 있으니 내용 파악을 하고 본문을 읽어보세요.

 


※ 먼저 읽을 글

 

통장쪼개기 part 1. 급여통장, 지출통장
통장쪼개기 part 4. 비상금통장 활용방법

 


위의 글을 읽어보면.. cma 통장이 급여통장이나 지출통장 보다
비상금 통장에 더 적합하다는 것. 알 수 있을텐데요.

 


cma 통장을 급여통장으로 사용하기가 꺼려지는 이유는

 

1. 은행과의 거래를 포기해야 하므로 주거래은행과의 실적이 아쉬워진다.

2. 통장쪼개기를 잘 실천할 경우 cma의 고금리 혜택을 받을 일이 거의 없기 때문입니다.

 

 

그리고 지출통장은.. 은행 계좌에 연결된 체크카드를 사용하는 것이
변동지출 통제에 효과적이니 cma통장을 고민할 필요가 없을테지요.

 

그리고 은행의 수시입출금 통장도 언제든지 돈을 넣고 뺄수 있다는 점에서는 마찬가지입니다만,
이자가 연 1%도 채 되지 않지요. 그러나 cma 통장은 하루에도 연 3% 금리로 이자가 붙습니다.

 

결국.. cma 통장의 고금리와 수시입출금 가능이라는 조건을 활용하여
언제 필요할지 모르는 목돈을 넣어두는 비상금 통장이 가장 적합하다는 결론이 나옵니다.

 


자.. 그러면 cma 통장은 어디서 가입해야 하고, 어떤 것들을 준비해야 할까요?
증권사 홈페이지에서 cma 통장을 보면 종류도 많던데.. 어려운 증권용어 같아서 머리가 아픈가요?

 

일단 cma 통장의 종류와 추천 유형에 대해서 공부해 보겠습니다.

 

 

 

 

 

 


 유형별 cma 통장의 종류

 

cma는 통장에 들어가는 돈이 어느 곳에 투자되는 곳에 의해 RP형, MMF형, MMW형 등으로 나뉩니다.

 

보통 이쯤에서 뭐가 이리 복잡해..?

그냥 금리비교나 해서 더 높은 금리의 cma에 가입해야겠다. 라고 생각하기 쉽지요.

 

그러나 유형별로 특징이 조금씩 다르니 간단하게나마 파악하는 것은

몸에 꼭 맞는 CMA통장을 고르기 위해 필요합니다.

 

 

 

1. RP(환매조건부채권)형 CMA

 

A등급 이상의 국공채, 회사채에 투자하며, 확정금리가 지급됩니다.
CP란 일정 기간이 경과한 뒤 일정한 가격으로 매수를 하거나 매도하는 조건으로 거래되는 환매조건부 채권입니다.

단기 투자자산이며 안전자산으로 분류된다는 특징이 있습니다.

그러나 RP에 직접 투자를 하려면 매도 후에 자금을 찾을 수 있고
업무시간 외에 출금이 제한되는 등의 불편사항이 있는데요,

RP형 CMA에는 이 같은 제약이 없어서 투자자들이 cma의 인기가 급증하게 된 것입니다.

 

 

 

2. MMF(머니마켓펀드)형 CMA

 

MMF(머니마켓펀드)는 단기채권, 기업어음, 양도성예금증서(CD) 등의 단기자산에 투자하는 펀드입니다.
MMF 역시 개별 상품으로 매매가 가능합니다.
그러나 RP와 마찬가지로 접근과 출금 등의 제약이 있는데, CMA는 그런게 없지요.

 

 


3. MMW형 CMA

 

MMW(머니마켓랩)은 한국 증권금융의 예금에 투자하는 랩상품 입니다.
현재 타 유형에 비해서 조금 더 높은 금리가 제공되어서 인기가 있습니다.
AAA등급 이상의 예금과 채권 등에 투자하여 운용하기 때문에 안전성도 높습니다.


금리가 시장에 연동되고 일복리로 계산되므로 장기간 cma에 자금을 넣어둔다면 유리합니다.
즉.. 언제빼서 쓰게 될지 구체적인 계획이 없는 비상금 통장에 적합할 수 있겠지요..
허나 확정금리로 이자를 받고자 한다면 rp형 등의 cma 통장을 추천합니다.

 

 

 

 

 

 


 판매 기관별 cma 통장 종류

 

cma의 유형과 별개로, cma 통장을 어디서 취급하느냐에 따라 cma통장의 특징이 구분지어지기도 합니다.

 

cma를 판매하는 곳은 증권사와 종합금융회사 두 곳이 있습니다.
은행에서도 cma를 판매하는걸 보게 되는데, 이 경우는 대행업무이고
직접적으로 은행이 cma를 판매하고 취급하지는 않다는 것 주의하시고요..

 

 

1. 증권사 cma 통장

 

대부분의 cma통장은 바로 이 증권사에서 판매하는 cma입니다.
왜냐? 종합금융회사 보다 증권회사의 수가 더 많고 상품의 종류도 다양하니까요.
증권사의 cma는 예금자보호가 되지 않습니다.
그러나 위에 설명한 대로 대체로 안전자산에 투자를 하기 때문에 원금손실에 대한

리스크는 거의 없다고 보면 됩니다. 그러나 아무래도 사람 기분이라는게 있는 만큼..

예금자보호가 되지 않는다는 점은 증권사 cma의 결정적인 약점 중 하나 입니다.

 

 


2. 종합금융회사(종금사) cma 통장

 

종합금융회사는 은행의 고유업무를 제외한.. 각종 금융업무를 볼 수 있는 곳입니다.
보험, 대출, 지급결제 등을 제외하고 대부분의 금융활동이 가능한데요.
종합금융회사는 일종의 특혜를 입고 있는바.. cma통장도 특별합니다.

 

바로.. 일반 은행의 예적금 상품과 마찬가지로 5천만원 한도의 예금자보호가 된다는 사실.

 

아쉽게도 종합금융회사의 수가 많지 않지만,
100% 안전한 자산이기 때문에 많은 분들이 종금사의 cma 통장을 선호합니다.
그리고.. 그 인기를 방증하듯, 종금사의 cma 금리가 증권사에 비해 상대적으로 높습니다.

 

 

 

 

 

 

 

 이자계산방법에 따른 CMA 통장 종류

 

cma 통장은 돈이 어떤 순서로 들어가고 나가느냐에 따라 또다시 분류가 가능합니다.
즉.. 먼저 들어간 돈이 먼저 나가는 선입선출과, 나중에 들어간 돈이 먼저 나가는 후입선출.

 

 

이 두 방식으로 구분이 되는데요. 이것에 따라 이자 계산이 상당히 달라진답니다.

 

 


1. 선입선출식 CMA 통장

 

대부분의 CMA 통장은 선입선출식입니다. 은행 예금들도 마찬가지인데요..

만약 선입선출식 CMA에 가입한 사람이 다음과 같은 순서로 돈을 넣고 뺐다고 가정한다면..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1월 1일 : 200만원 입금
2월 1일 : 100만원 입금
3월 1 일 : 100만원 출금
5월 1일 : 현재 날짜(가정)


즉 1월과 2월에 각기 200만원, 100만원씩 입금을 하고 한달 뒤인 3월에 100만원을 출금하였습니다.

 

이 때 3월 1일에 출금한 100만원은 선입선출식에 따라..
1월 1일에 입금한 200만원 중에서 100만원이 빠져나간 것이 되겠지요.

그러므로 CMA 통장에 들어간 예치금에 붙는 이자 계산은 다음과 같습니다.

 

1월 1일 200만원 입금 금액 중에서

          1) 100만원에 대해서는 (3월 1일에 출금된 100만원) 1월 1일부터 2월 28일까지 이자가 붙음
          2) 100만원에 대해서는 (3월 1일 출금 후에도 계속 남은 100만원) 1월 1일부터 5월 1일까지 이자가 붙음

2월 1일 100만원 입금액은 2월 1일부터 5월 1일까지 이자가 붙음


돈을 찾는 시점부터 1월 1일에 입금한 돈 중에서 100만원은 이자지급이 뚝 끊겨버립니다.
이자라는 것은.. 예치기간과 동일한 비율로 붙으므로.. 오래 넣어두면 좋습니다.
100만원을 인출하고 곧바로 100만원을 입금하더라도 그냥 놔둔거에 비하면 이자 손해를 볼 수 밖에 없습니다.

 

이것이 선입선출식 cma 통장의 단점인데.. 그러므로,


선입선출식 cma 통장에 돈을 넣어두면

어지간한 일이 생기지 않는 이상 돈을 뺐다가 넣는 것을 반복하지 않는 것이 좋습니다.

자주 출금을 할수록 가장 먼저 입금한 돈이 순서대로 빠져나오니까요.

 

 

 


2. 후입선출식 cma 통장

 

후입선출, 즉 나중에 들어간 돈이 먼저 빠지는 방식입니다.
돈을 수시로 입금, 출금을 해도 이자 손해를 보지 않는다는 것이 장점입니다.

위의 예로 든 경우에도 3월 1일에 100만원을 출금하면 2월 1일에 입금한 100만원이
빠져나오므로.. 선입선출식에 비해서 총 이자가 더 많이 붙는 것 입니다.

 

 

 

 

[선입선출과 후입선출 개념도]

 

 

그러므로.. 누구나 cma 통장은 가능하면 후입선출식으로 가입하는게 좋은데요

안타깝게도 현재 판매되고 있는 cma통장 중에서 후입선출 방식은 금호종금의 cma가 유일합니다.

 

종금? 종합금융회사 cma라서 기분 좋게 가입을 하려고 하지만~

몇가지 아쉬운 점이 있습니다.

 

1) 취급 지점이 많지가 않아서 불편할 소지가 있다는 단점

2) 사용시간에 제약이 있다는 단점

 

 

금호종금은 광주본사, 서울지점(을지로), 강남지점, 목포지점.

 

이렇게 네개의 지점이 전부 입니다. 많은 분들이 통장 개설 자체가 힘든 조건이지요!


그리고.. 24시간 이용이 가능한 증권사와 00:30~23:30까지 이용가능한 메리츠종금에 비해
사용시간에 제약이 있습니다. (07:00 ~ 22:00)

그러나 사용시간 제약은 비상금 통장으로만 사용하면 큰 문제가 없다고 보면 됩니다.

 


아무튼 지금 설명한 두가지 단점 외에는 금리도 높고(아래에 cma통장 금리비교 확인)
후입선출식이라서 이자 걱정 없이 입출금을 할 수 있다는 막강한 장점이 있습니다.
그리고 종합금융회사의 cma통장이므로 예치금 5천만원 내에서 예금자보호까지 된답니다.

 

HxD Hex Editor 1.7.7.0

Posted by ironmask84
2013. 6. 17. 14:32 컴퓨터공학/개발 유틸


'컴퓨터공학 > 개발 유틸' 카테고리의 다른 글

Visual Studio 2010 Express 설치하기!!  (0) 2015.11.23
 

JNI & 예제

Posted by ironmask84
2013. 4. 1. 14:27 나는 프로그래머다!/Java & Android


JNI는 요 근래에 알개 되었다. C언의 요소들을 자바에서 사용하고자해서 찾아보것이 알개 된계기
JNI는 자바에서 C/C++로 구현되거나 자바에 비해 장점이라 할수 있는 것들을 사용할수 있개 해주는 것이다.

 native method라는 것을 구현화 함으로 C와 C++의 문법적 요소들을 가져와 쓰는 것이다.
이러한 장점에 비해 자바의 강점인 이식성과 네이티브 메소드들의 자바의  메소드들과 같은 보호를 장담하지 못한다는 단점이 있다.

 자료를 수집하려 들려본 블로그, 카페들 중에서는 이론상으로 C로 구현된 것들(API)을 모두 가져다 쓸수 있다고 표현한 분들도 있었지만 해보지 않아 장담할 수없어 아쉽다.

 첫 단계로 "Hello World"예제를 만드는 법을 설명하갰다.
테스트 환경은 윈도우 2003 R2, 자바 1.6  비쥬얼스트디오 6.0에서 하였다.

 먼저 HelloWorld.java다

=============================================================
public class HelloWorld {
 static
 {
  System.loadLibrary("HelloWorld");
  System.out.println("===library was loaded");
 }

 public native void printHelloWorld();
 public static void main(String[] args) throws Exception
 {
  new HelloWorld().printHelloWorld();
 }
}
=============================================================

위에서 static이라 구현해 준 부분은 자바소스가 실행될때 HelloWorld라는 라이브러리를 가져다 쓰갰다는 이야기가 된다.

 그리고 public native void printHelloWorld() 이부분이 C에서 구현해주고 사용할 메소드,함수의 선언 부분이다.

 위의 소스가 준비가 됬다면 이제는 javac 와 javah로 컴파일과 해더파일을 작성해주면 된다. 컴파일이 먼저 이루어져야 하겠고 javah뒤에는 확장자를 뺀 클래스 파일의 이름을 넣어 주면 된다.

위 그림과 같이 되갰으며 아무 매세지가 나오지 않으면 성공한것이다.


그럼 HelloWorld.h 해더 파일을 보갰다.

=============================================================
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */

#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     HelloWorld
 * Method:    printHelloWorld
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_HelloWorld_printHelloWorld
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif
=============================================================

 javah로 만들어준 해더 파일이다. 이파일은 수정하면 안되며 c에서 구현해줄 함수의 선언 부를 볼수 가있다.
그럼 이 해더파일을 이용해 c파일을 만들갰다.

=============================================================
#include <jni.h>
#include "HelloWorld.h"
#include <stdio.h>

JNIEXPORT void JNICALL Java_HelloWorld_printHelloWorld(JNIEnv *env, jobject obj)
{
 printf("Hello World!\n");
 return;
}
=============================================================

 이것이 c언어로 구현해 주어야 할 부분이다.
이소스는 비쥬얼 스트디오에서 DLL을 만들어주는 프로젝트를 만들어야 한다.
일단 jni.h파일과 만들어준 HelloWorld.h 파일을 인클루드해야 한다.
jni.h는 자바가 설치된 디렉토리 및에 있으며 비쥬얼 스트디오에서는 라이브러리 추가를 해주어야 한다.

 함수의 명은 Java_클래스명_자바에서 선언한 네이티브메소드명 이 되갰다.
이제 이소스를 DLL파일로 만들어 주었으면 작업공간의 가장 상위 폴더로 옯겨준다.

이제 실행을 해보자


이와 같은 결과가 나올것이다.

출처 : http://blog.naver.com/sysganda/30095941540 

 


 

make / 모듈 추가 방법

Posted by ironmask84
2013. 4. 1. 14:22 나는 프로그래머다!/Java & Android


테스트 라이브러리를 플랫폼에 추가하기
안드로이드는 config.mk 에서 각 프로젝트별 android.mk를 뒤져
빌드하는 형태로 구성되어 있다~


안드로이드 플랫폼내에 모듈이나 어플리케이션을 추가시키기 위해
별도의 mk 및 타겟 플랫폼 빌드환경을 구성하기에는 작업해야 하는 일이
많고, 안드로이드에 특화된 시뮬레이터, 서명 등의 문제가 발생할 여지가 있다.

(실제로 발생하는지는 모르겠다... -_-;)


아무튼 기 구성된 make 프로세스에 포함시켜 빌드하는게

가장 편한 방법이기에 해당내용을 정리해 본다. 


ex) helloworld 라는 공용라이브러리 추가하기


1. 테스트 라이브러리를 위한 폴더명 설정  "helloworld"

2. /frameworks/base/helloworld 폴더 추가(다른위치에 추가해도 됨)

3. /build/core/pathmap.mk 수정

pathmap.mk는 프레임워크의 각 서브항목에 대해 정의해둔 곳이다.

make 파일에서 FRAMEWORKS_BASE_SUBDIRS 를 찾아 마지막에 추가될

모듈(helloworld 추가)


#

# A list of all source roots under frameworks/base, which will be

# built into the android.jar.

#

FRAMEWORKS_BASE_SUBDIRS := \

$(addsuffix /java, \

   core \

   graphics \

   im \

   location \

   media \

   opengl \

   sax \

   telephony \

   wifi \

   vpn \

   keystore \

   helloworld \

)


4. 소스 복사 or 코딩

/frameworks/base/helloworld/libhelloworld/ 와 같은 폴더 생성 후 코딩 및 소스 추가


helloworld.h

namespace android {


class HelloWorldTest

{

public:

HelloWorldTest();

~HelloWorldTest();


void Test();

};

};


helloworld.cpp

#include "helloworld.h"

using namespace android;


void HelloWorldTest::Test()

{

return;

}



5. Android.mk 추가

LOCAL_PATH:= $(call my-dir)


include $(CLEAR_VARS)


#여기에 소스 목록을 등록

LOCAL_SRC_FILES:= \

helloworld.cpp


#여기에 사용하는 라이브러리들 등록

LOCAL_SHARED_LIBRARIES:= \

libui \

libcutils \

libutils


#출력 모듈명

LOCAL_MODULE:= libhelloworld

LOCAL_PRELINK_MODULE:= false


#링커 관련 플래그

ifeq ($(TARGET_OS)-$(TARGET_SIMULATOR),linux-true)

LOCAL_LDLIBS += -ldl

endif

 

#동적으로 참조할 라이브러리 추가

#에뮬레이터인 경우 libdl 을 동적참조

ifneq($(TARGET_SIMULATOR),true)

LOCAL_SHARED_LIBRARIES += libdl

endif


#헤더파일 위치

LOCAL_C_INCLUDES:= \

$(LOCAL_PATH)/include \

$(call include-path-for, graphics corecg)


#빌드방식

include $(BUILD_SHARED_LIBRARY)


6. 아웃풋 위치

out/target/product/generic/system/ 에 빌드방식에 따른 폴더가

정의되어 있다.


동적 라이브러리의 경우

out/target/product/generic/system/lib/

out/target/product/generic/obj/SHARED_LIBRARIES/xxxx/

out/target/procuct/generic/symbols/system/lib/

등이 출력 위치이다.



7. 주요 define 항목 설명

LOCAL_PRELINK_MODULE : 프리링크 활성화(true, false)


LOCAL_MODULE_TAGS : 타겟 시스템 설정을 위한 태그

이 값은 최상위의 /build/core/main.mk 에서 각 프로젝트를 빌드할때

사용되는 값으로 어플리케이션의 속성을 지정하게 된다.

설치 관련 정보나 보안 등급, 디버깅 여부 등의 설정이 이루어진다.

기본 값은 user 이다.


eng, user ,userdebug, optional


LOCAL_MODULE_CLASS

모듈의 등급을 지정하는 것으로 아래와 같은 값이 들어감

EXECUTABLES , JAVA_LIBRARIES , SHARED_LIBRARIES


LOCAL_PACKAGE_NAME

/packages/app/ 에 등록된 패키지들과 마찬가지로

패키지명으로 기본 os 에 포함될 패키지를 의미한다.


이름은 패키지의 디렉토리명과 동일해야 한다.

실제 패키지가 이미지에 포함되기 위해서는

build/target/product/generic.mk 에도 등록해야 

system.img에 패키지가 포함된다.



LOCAL_CERTIFICATE : 키 서명

설정되지 않으면 testkey가 사용되며, 해당 키에 대한 값은

/build/target/product/security/ 폴더에 pk8, x509.pem 파일이 존재한다.

이 파일의 이름이 키가 되고, 빌드시 해당 키를 사용한다고

이곳에 지정하게 된다.


테스트용 키를 생성하기 위한 mkkey.sh 스크립트도 포함하고 있다.


LOCAL_CFLAGS : C , C++ 관련 컴파일러 플래그

LOCAL_CPPFLAGS : C++ 관련 컴파일러 플래그

LOCAL_CXXFLAGS

일반적으로 gcc 관련 옵션사항을 기술한다.


기본 최적화 옵션

-O : 기본 최적화를 켠다.

-O2 : 모든 최적화를 켠다. 대부분 -O 보다 나은 선택이며, 일반적으로 사용됨.

-O3 : -O2 에 더해 추가 최적화를 켠다. 바이너리 사이즈가 증가하며 디버깅이 거의 불가능.

-Os : -O2 에 더해 사이즈 관련 최적화를 한다. 큰 어플리케이션에 유용하다.

-O2, -O3 보다 실행 속도가 빠른데, 로드 시간의 감소, 메모리 사용 및 캐쉬, 디스크 사용등

의 최적화가 이루어지기 때문이다.

-fomit-frame-pointer : x86 시스템에서 함수 호출과 관련한 스택포인터와 

이를 지시하는 프레임 포인터에 해당하는 작업을 하지 않는다. 

(각 인수들,  리턴 주소 등의 ebp 관련 레지스터 )

-march=<your_arch> 

-mtune=<your_arch>

-mcpu=<your_arch>

머신 컴파일 옵션으로 대상에 대해 최적화를 수행한다. 대상의 cpu 정보를 넣어주면 되며,

세개 모두 동일한 내용이며, -march 는 -mtune을 의미한다.

-mtune/-mcpu는 gcc 구버전에서 이용되었다. 

-pipe : 컴파일시 별도의 임시파일을 생성하지 않음.



TARGET_SIMULATOR : 대상 시뮬레이터여부 , true/false

TARGET_OS : 대상 os

TARGET_ARCH : 대상 아키텍처



LOCAL_LDLIBS : 링커 옵션

LOCAL_STATIC_LIBRARIES

LOCAL_SHAREDLIBRARIES


LOCAL_C_INCLUDES : include 폴더

LOCAL_CPP_EXTENSION : cpp 소스의 확장자. 기본값은 .cpp



빌드 규칙

include $(BUILD_PACKAGE)

include $(BUILD_EXECUTABLE)

include $(BUILD_SHARED_LIBRARY)

include $(BUILD_HOST_EXCUTABLE)

 

출처 : http://blog.daum.net/hopefullife/117

 

 

Time Stamp와 MD5

Posted by ironmask84
2013. 2. 4. 09:07 컴퓨터공학/Security


3번 문제를 풀기 위해 http://webgame.wowhacker.com/weblevel3/list.php로 접속합니다.


또 아까와 같은 게시판이 보이시죠? 이번에도 게시글을 하나씩 클릭해가며 살펴보도록 합시다.


1번 게시글을 클릭하자 오픈기념사진이란 파일이, 2번 게시글은 몸매짱, 3번 게시글은 Hint, 4번 게시글은 내사진, 5번 게시글은 비밀글 처리되어 내용을 볼 수 없습니다. 1~4번에 업로드된 파일들을 모두 다운로드 받아봅시다. 그러면 아래의 링크로 접속되어 다운로드 되는것을 확인하실 수 있습니다.



다시 게시글을 들어가봅시다. 게시글을 올린 날짜 옆에 숫자가 보이시죠? 게시글마다 각각 숫자가 서로 다릅니다.


1: 2006.10.18 09:05:25 0.25616200

2: 2006.10.19 10:01:05 0.57833500

3: 2006.10.20 12:05.19 0.78252100

4: 2006.10.20 18.24.43 0.65272100

5: 2006.10.22 15:49.52 0.85428900


. 뒤에 있는 숫자와 파일 뒤에 붙는 숫자가 일치하죠? 그리고 5번은 85428900이고 말이에요. 그럼 아래와 같이 유추할 수 있습니다.


http://webgame.wowhacker.com/weblevel3/down/############.85428900


그렇다면 앞에 있는 암호화된 값은 무엇을 의미할까요? 모두다 소문자와 숫자로 조합된 32자리의 값으로 MD5로 인코딩 됬다는걸 쉽게 알 수 있습니다. 한번 MD5로 디코딩을 해봅시다. 아래의 링크로 접속합시다.


링크: http://md5.web-max.ca/

[위 사이트에서 MD5 Encrypt시 입력한 값이 MD5 해쉬사전(데이터베이스, DB)로 넘어갑니다. Decrypt는 이 해쉬사전을 탐색하여 원본값을 가져오는 것입니다. 주민등록번호, 비밀번호 등 역시 이 데이터베이스 내에 남습니다.]


그런뒤에 하나하나 디코딩을 해봅시다.


1: b72776c5eb0c5a05a7188959a49e1f1b -> 1161129925

2: 28d805e190f11ba1da5283d494ee8492 -> 1161219665

3: b08e7acd151d17cbc5f205edf151d7e7 -> 1161313519

4: 779bbf24b15bb7cb0f6b51507f0615f4 -> 1161336283


이 값들은 바로 타임스탬프(Timestamp)값임을 알 수 있습니다. 타임스탬프란 1970.1.1 00:00:00 이후의 시간을 초로 환산하여 문자열로 나타낸 값으로, 아래의 링크로 접속하면 쉽게 시각->타임스탬프, 타임스탬프->시각 변환이 가능합니다.


링크: http://www.4webhelp.net/us/timestamp.php


Timezone는 GMT +9 Hours를 선택하고(우리나라의 표준시는 그리니치 표준시(GMT)보다 9시간 앞서므로 그렇습니다.), Timestamp에 아까 디코딩 된 값 4개를 넣어서 Convert to date를 누릅시다.


1: 1161129925 translates to Wednesday, October 18th 2006, 09:05:25 (GMT +9)

2: 1161219665 translates to Thursday, October 19th 2006, 10:01:05 (GMT +9)

3: 1161313519 translates to Friday, October 20th 2006, 12:05:19 (GMT +9)

4: 1161336283 translates to Friday, October 20th 2006, 18:24:43 (GMT +9)


게시글을 올린 시각이랑 일치하죠? 그렇다면, 여기서 한번더 유추할 수 있습니다. 게시글을 올린 시각을 타임스탬프값으로 변환하여 이를 MD5로 인코딩하면 .앞의 암호화 된 값이 나오므로, 비밀글을 올린 시각인 2006.10.22 15:49.52를 타임스탬프 값으로 변환해봅시다. Day엔 22, Month엔 10, Year엔 2006, Hour에는 15, Minute에는 49, Second에는 52, Timezone은 GMT +9 Hours를 택하고 Convert to a timestamp를 누릅니다. 그러면 아래와 같이 결과물이 출력됩니다.


Sunday, October 22nd 2006, 15:49:52 (GMT +9) translates to 1161499792


1161499792을 가지고, 아래의 사이트로 들어가서 MD5로 암호화 해줍시다.

링크: http://tools.web-max.ca/encode_decode.php


그럼 아래와 같은 값을 얻을 수 있습니다.

fb6e412cf733d6b9cdf777cbcafa35c3


이제 한번 조합해봅시다.

http://webgame.wowhacker.com/weblevel3/down/fb6e412cf733d6b9cdf777cbcafa35c3.85428900


위의 사이트로 들어가면 답이 나와있습니다.


Level3 key: iwantknowmoreMrjones!


즉 답은 'iwantknowmoreMrjones!' 입니다. 수고하셨습니다.

출처 : http://exynoa.tistory.com/108