openssl 을 이용하여 AES256 암복호화 및 암호화 된 값은 base64로 인코딩 해주는 샘플입니다.
암복호화 시 base64 의 문자열로 인코딩/디코딩하여 hex 형식으로도 변환해주는 함수를 구현해두눈 상태입니다.
추가로 간단한 AES128 용 샘플이 들어있습니다.
std::wstring 으로 암복호화시 utf-8 형식의 std::string 로 변환후 암복호화 수행하며 utf-8 변환시엔
UTF8Conv.h 를 사용하였습니다. ( http://yamoe.tistory.com/253 )
openssl 사용 정보
버전 1.0.0g
static library, /MT, vs2008/vs2010 용 컴파일 (첨부파일에 openssl 2008, 2010 용 static library 포함)
특허 문제 있는 알고리즘은 제외하고 컴파일 함(openssl 홈페이지 참조)
aes.7z
reference
openssl : http://openssl.org/
openssl aes256 c 샘플 : http://cdmweb.de/openssl_aes.c.txt
openssl EVP 샘플 : http://www.openssl.org/docs/crypto/EVP_EncryptInit.html
openssl base64 encoding 샘플 : http://www.ioncannon.net/programming/34/howto-base64-encode-with-cc-and-openssl/
openssl base64 decoding 샘플 : http://www.ioncannon.net/programming/122/howto-base64-decode-with-cc-and-openssl/
oepnssl base64 encoding시 주의할 점 : http://byeong0.tistory.com/43
4.OpenSSL_API를_이용한_인증서,_SSL_프로그래밍.pdf
'C++' 카테고리의 다른 글
log4cxx warning 관련 C4275 (0) | 2012.04.06 |
---|---|
OTL 샘플 (0) | 2012.04.06 |
현재 자신이 서비스 모드로 실행되었는지 콘솔모드로 실행되었는지 확인하는 방법 (0) | 2012.04.05 |
strsafe.h (0) | 2012.03.24 |
UTF-8 변환 (UTF8Conv.h) (0) | 2012.03.10 |
#pragma message 를 활용한 할일 적어두기 (0) | 2012.03.07 |
메모리 릭 확인 - Detected memory leaks (0) | 2012.02.27 |
오픈소스 라이센스 : libcurl, openSSL, wxWidgets (0) | 2012.02.26 |