디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

횽들 암호화 API 공부하고있는뎀...

늅늅(121.183) 2012.01.08 19:29:56
조회 237 추천 0 댓글 0


 BOOL EncryptFile(
        PCHAR szSource, 
        PCHAR szDestination, 
        PCHAR szPassword)
//------------------------------------------------                
//   파라메터 정의                
//     szSource  : 입력으로 주어지는 파일명 원문을 담고 있다.        
//     szDestination  : 출력파일 이름. 암호화 되어 있다.         
//     szPassword  : 암호화에 사용될 키값        대칭키 방식이기에 복호화에도 사용된다.

{
        FILE *hSource; 
        FILE *hDestination; 

        HCRYPTPROV hCryptProv; 
        HCRYPTKEY hKey; 
        HCRYPTHASH hHash; 

        PBYTE pbBuffer; 
        DWORD dwBlockLen; 
        DWORD dwBufferLen; 
        DWORD dwCount; 

// 입력 파일 열기 
        if(hSource = fopen(szSource,"rb"))
        {
           printf("The source plaintext file, %s, is open. \\n", szSource);
        }
        else
        
           HandleError("Error opening source plaintext file!");
        

// 출력파일 열기 
        if(hDestination = fopen(szDestination,"wb"))
        {
                 printf("Destination file %s is open. \\n", szDestination);
        }
        else
        {
                HandleError("Error opening destination ciphertext file!"); 
        }
        // 디폴트 CSP의 핸들을 얻어온다. CryptoAPI중 가장 첫번째 함수 
        if(CryptAcquireContext(
                  &hCryptProv, 
                  0, 
                  MS_ENHANCED_PROV, 
                  PROV_RSA_FULL, 
                  0 ))
        {
           printf("A cryptographic provider has been acquired. \\n");
        }
        else
        {
           HandleError("Error during CryptAcquireContext!"); 
        }

        //hash 오브젝트를 생성한다.
        if(CryptCreateHash(
                   hCryptProv, 
                   CALG_MD5, 
                   0, 
                   0, 
                   &hHash))
                {
                        printf("A hash object has been created. \\n");
                }
                else
                
                         HandleError("Error during CryptCreateHash!\\n");
                }  

        if(CryptHashData(
                   hHash, 
                   (BYTE *)szPassword, 
                   strlen(szPassword), 
                   0))                                        //패스워드에 해쉬를 취한다.
         {
                printf("The password has been added to the hash. \\n");
         }
         else
         {
                HandleError("Error during CryptHashData. \\n"); 
         }

        if(CryptDeriveKey(                        
                   hCryptProv, 
                   ENCRYPT_ALGORITHM, 
                   hHash, 
                   KEYLENGTH, 
                   &hKey))                                // 해쉬 값을 이용하여 세션키를 생성한다.
         {
           printf("An encryption key is derived from the password hash. \\n"); 
         }
         else
         {
           HandleError("Error during CryptDeriveKey!\\n"); 
         }


굵은글씨로 한부분 다 이해가안가요 ㅠㅠ

CSP 핸들을 얻어오고, 해싱오브젝트를 만들어 사용자가 입력한 암호키로 해시값을 만들고
만들어진 해시값으로 왜 세션키를 만들죠 ㅠㅠ?

이해가안대요 네이년에 찾아봐도 자료가 충분하지않고 소스만 덜렁있꼬 설명이 없어여 ...
구글은 무능력한 영어지식에 좌절했슴미당... 횽님들 도와주세영..

PS. 쓰는방법은 알겠는데 왜 저렇게 써야하는질 모르겠음... 그냥 사용자가 입력한 암호키받고 그걸로 걍 바로 쓰면되지
왜 해시값에 세션키를 처만드는지...

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 대박 날 것 같아서 내 꿈에 나와줬으면 하는 스타는? 운영자 25/11/17 - -
AD 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
298372 닷넷은 별로 자리가 없는거 같다?? 거칠게갤로그로 이동합니다. 12.01.12 100 0
298371 ㅠ 보살 없나 보살 ㅠ 20세잉여(211.48) 12.01.12 43 0
298370 한국사람 창의력 없는 이유 [3] 1(183.104) 12.01.12 192 0
298369 자바 스트러츠2 프레임워크 좀 해본 형아들있어? [1] 20세잉여(211.48) 12.01.12 115 0
298367 키노트나...애플꺼 제품들을 쓰고 있노라면... [2] 캐맥닭(115.92) 12.01.12 75 0
298366 아 .. 프로그램만들때잇자 [1] 코딩?...(58.145) 12.01.12 57 0
298365 아 형들 애플의 독에 중독된거같아... 맥북사려고 알바구해서 알바중.. [6] zz(218.37) 12.01.12 121 0
298364 사람들이 코딩코딩거리는데.. [5] 코딩?...(58.145) 12.01.12 150 0
298363 이런 시밤 내가 이런 기사만 골라보는건가??? [1] 거칠게갤로그로 이동합니다. 12.01.12 85 0
298362 키노트 쌀거 같다..... [2] 캐js닭(115.92) 12.01.12 74 0
298359 지금 우리 회사 개발팀 멘붕 중 [3] 거칠게갤로그로 이동합니다. 12.01.12 237 0
298358 아 형들 컴퓨터 고장났어요 어떻게요 [2] 군대지원(203.226) 12.01.12 61 0
298357 난 근데 프로그래머 아니면 하고싶은 일이 하나도 없는데 [10] 1(183.104) 12.01.12 126 0
298356 케케케케케 버추얼박스 깔아서 6.0 깔고 써야지 도저히 안대게따 [2] 1(183.104) 12.01.12 65 0
298355 형들 그리고 하나더.. 부탁임도와줘(58.145) 12.01.12 39 0
298354 형들..나 이것좀 부탁함 도와줘 [4] 부탁임도와줘(58.145) 12.01.12 66 0
298353 시밤 프로그래머 때려치고 취미로 해야겠다 [1] 거칠게갤로그로 이동합니다. 12.01.12 173 0
298352 형들 질문좀 .. [6] ㅠㅠ(211.116) 12.01.12 59 0
298351 프로그래머 구하기가 어렵디... [4] 더덕(119.67) 12.01.12 176 0
298349 형들zip알집파일 비번뚫을수있는형잇어? [4] @!!@(118.223) 12.01.12 151 0
298348 비트 다녀본 횽 있으신가요? 단기과정도 괜춚한가요? [1] 치킨맛맛폰갤로그로 이동합니다. 12.01.12 145 0
298347 외국에 유학갔던 애들도 취업 안되서 들어온다는게 사실이냐??? 거칠게갤로그로 이동합니다. 12.01.12 90 0
298346 능력자분들 컴맹좀 도와주세요 ㅜㅜ 컴퓨터가 먹통입니다 [2] ㅁㄴㅇㄹ(61.252) 12.01.12 74 0
298343 문제는 우리가 루져라는거... [2] 쿄스케갤로그로 이동합니다. 12.01.12 77 1
298342 아 초코케익 절라 맛있다 [1] SODMaster갤로그로 이동합니다. 12.01.12 67 0
298340 서버 2008 자동 로그 오프 되는거 못끔? □ㅁ갤로그로 이동합니다. 12.01.12 65 0
298339 엇 시밤 방금 이상한걸 발견했다???? [2] 거칠게갤로그로 이동합니다. 12.01.12 121 0
298338 시밤 예전에는 인터넷도 없었으니 정보가 부족했는데... [3] 거칠게갤로그로 이동합니다. 12.01.12 115 0
298337 그거 모르냐 [1] ㅁㄴㅈ(210.90) 12.01.12 64 0
298336 앞으로 이 목록은 여자들이 남자 고를때 쓰는 목록일 될꺼다 [2] 거칠게갤로그로 이동합니다. 12.01.12 172 0
298335 신입사원 초봉이 5900만원···어디야? [14] 거칠게갤로그로 이동합니다. 12.01.12 437 0
298334 LISP-scheme 에대해서좀... [8] ㅱㅱㆁ실버갤로그로 이동합니다. 12.01.12 102 0
298333 형들 질문 [5] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.01.12 57 0
298331 형들 질문좀 [1] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.01.12 44 0
298330 c# 에서 richediter에서 표를 그릴수가 있나요? ㅇㅇㅇㅇ(203.244) 12.01.12 45 0
298328 어제 세화횽이 올렸던 걸스데이 민아? 짤방 말야.. 캐js닭(115.92) 12.01.12 108 1
298327 윈도우 프로그래밍을 배울려면 어디가 제일 좋냐 [6] 늅이(211.183) 12.01.12 139 0
298326 뒷페이지에 getch() 두번쓰는거 ㅎㄷㅅ초(211.183) 12.01.12 64 0
298325 통큰아이 서버 어떤가요 .? 초보(211.116) 12.01.12 819 0
298324 횽들 '리버스 엔지니어링'이 뭐에요???? [7] 로로(203.249) 12.01.12 246 0
298323 IT관련 자격증, 진로, 취업, 편입 등 컨설팅서비스 제공 최선화(59.5) 12.01.12 55 0
298321 커피 전문점 하나 차리는데 돈얼마 드냐? □ㅁ갤로그로 이동합니다. 12.01.12 36 0
298319 커피 전문점 하나 차리는데 돈얼마 드냐? □ㅁ갤로그로 이동합니다. 12.01.12 39 0
298318 이 책 좋음? 기초부터 실전 예제까지 VISUAL C++ 2010 MFC 병싄(211.197) 12.01.12 117 0
298317 아래 학원 질문했었는데 추가 질문좀 [2] 카옷흐(118.220) 12.01.12 61 0
298316 님들 비주얼 2010 쓰시는분 계셈 [3] 병싄(211.197) 12.01.12 82 0
298315 이클립스에서 실행하면 제대로 돌아가는데 만들어진 exe 파일 실행하면.. [1] ㅁㄴ(210.107) 12.01.12 68 0
298314 월급은 안오르고 다른건 다오른다 [5] □ㅁ갤로그로 이동합니다. 12.01.12 113 0
298313 룸에가서 120 쓰고 옮 [4] 초딩6(59.13) 12.01.12 152 0
298312 Visual Studio 파일에서 찾기 Ynobe갤로그로 이동합니다. 12.01.12 55 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2