디시인사이드 갤러리

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

갤러리 본문 영역

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

늅늅(121.183) 2012.01.08 19:29:56
조회 223 추천 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/10 - -
AD 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
298310 비주얼 2008은 무료로 못 받는건가 [1] 1(183.104) 12.01.12 63 0
298309 형들 directX질문있어 income갤로그로 이동합니다. 12.01.12 35 0
298308 횽들~ 천회장(211.246) 12.01.12 40 0
298307 ㅋㅋㅋㅋㅋㅋㅋㅋ 오랫만에 웹좀 보는데 [2] McHello갤로그로 이동합니다. 12.01.12 88 0
298305 프로그램 질문좀할께요 횽들 [1] 그냥폐인갤로그로 이동합니다. 12.01.12 55 0
298304 님들 winapi 배우는데 Insert File Into Project [1] 1(183.104) 12.01.12 41 0
298303 난 솔직히 플머라고 하기도 민망한 걍 스크립터지만 [5] Dawnwalkre갤로그로 이동합니다. 12.01.12 164 0
298302 블로그 글들 검색하다 보면 책에꺼 그대로 복붙 하는것들 별 문제 없냐? [2] 응응(175.116) 12.01.12 65 0
298300 등록금 크리. 씨발라드세요갤로그로 이동합니다. 12.01.12 42 0
298297 비트학원다닐 예정인데 질문 좀 ! [4] 카옷흐(118.220) 12.01.12 261 0
298296 역시 정치인들은... 믿을게 못된다 [2] 정치인ㅅㅂ(147.6) 12.01.12 60 0
298295 카이지 본다고 밤샜다..... [4] 캐꼬꼬닭(14.36) 12.01.12 98 0
298294 전역후에 학원 알아보려는데 조언 부탁드릴게요.. 쿠닌(118.220) 12.01.12 44 0
298292 우왕ㅋ 이름 바꿔달라는 메일에 대한 회신이 왔당 ㅋ [4] 캐js닭(115.92) 12.01.12 115 0
298290 USB 포멧 좀 도와줘요 ㅠ [2] 미필은고의사구갤로그로 이동합니다. 12.01.12 52 0
298289 형들 신입이 힘드네요 ㅠㅠ [7] +어게인갤로그로 이동합니다. 12.01.12 200 0
298288 횽들 나 프갤다닌다고 욕먹음 [8] 쿠마코갤로그로 이동합니다. 12.01.12 161 0
298287 뭐하나 여쭤볼게요 [1] ㅁㄴㅇㄹ(121.162) 12.01.12 37 0
298286 역시 해결사는 본좌 LISP이다... [1] ㅇㅇㅇ(221.147) 12.01.12 152 0
298282 그래픽 카드 드라이버를 못찾겠어 도와줘 ㅠㅠ [9] 그래픽(121.130) 12.01.12 121 0
298279 프갤님들 서울대 컴공과 나오면 뭐먹고살아여? [4] 흐이익(115.143) 12.01.12 301 2
298278 형들아 공유기에 대한 진지한 질문 [3] 까르갤로그로 이동합니다. 12.01.12 73 0
298276 전에는 전공하는 넘이 학원다니면 [1] dot(125.128) 12.01.12 117 0
298275 ASSA Art HTML5 , 블로그 [4] [성대아싸]갤로그로 이동합니다. 12.01.12 127 0
298273 이번에 컴공과 가는데 [22] 프갤뉴비(211.58) 12.01.12 280 0
298271 아까말한 프로젝트 결과물 ㅋㅋ [1] oxin갤로그로 이동합니다. 12.01.12 152 0
298270 아 형들 뒤에 좀넘겨보니까 나옴 [3] 123(112.166) 12.01.12 63 0
298269 저번학기에 며칠밤을 새워가면서 했던 고민 [5] oxin갤로그로 이동합니다. 12.01.12 147 0
298267 형들 cpp 책사서 공부할라고 폇는데 첨부터 에러남 ; [10] 123(112.166) 12.01.12 115 0
298261 저 아래 숙명의 카인이라는 분이 쓴거 이거 너무 웃기다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ [5] ㅁㄴㅇㄹ(59.30) 12.01.11 228 0
298258 코딩하다 막힐 때 전라도편 [4] oxin갤로그로 이동합니다. 12.01.11 142 1
298257 좆중딩이 안드로이드 게임 개발. [5] 내가니엿가니갤로그로 이동합니다. 12.01.11 251 1
298256 형들.. 최 고령 프로그래머가 몇살임? [1] zaitsev(27.115) 12.01.11 167 0
298255 끝내주는 프론트 엔드 개발자 연봉 vs 흔한실력의 백엔드 개발자연봉 [1] 으헝(221.138) 12.01.11 438 0
298254 자바랑 씨언어중에서 [4] ㅱㅱㆁ실버갤로그로 이동합니다. 12.01.11 140 0
298253 이번 2월부터 지원하는 s/w개발병 눈독들이는 가이있나? [7] 추상화갤로그로 이동합니다. 12.01.11 181 0
298252 아 프로그래밍 어렵다. 자바가 그나마 쉽다던데 그마저도 어렵다. [9] zaitsev(27.115) 12.01.11 177 0
298251 맥북에어로 프로그래밍 가능여부 [10] 대통령칸토나(122.38) 12.01.11 978 0
298250 아이패드 케이스만 사면 도대체 무슨 의미죠 [5] ㅇㅇ(220.78) 12.01.11 73 0
298248 정신병 [7] 군대지원(222.101) 12.01.11 68 0
298245 크게기대는 안했지만..... [5] 퐈응퐈응갤로그로 이동합니다. 12.01.11 119 0
298244 윈7 가젯 참 깔끔하고 좋구나 헿헤.png ?(124.199) 12.01.11 76 0
298243 올해 2분기에 인텔CPU 안드로이드폰 나온다넹 [2] 시불라미갤로그로 이동합니다. 12.01.11 70 0
298239 프로그래밍 혼자 공부하고싶어서 그러는데 [3] ㅱㅱㆁ실버갤로그로 이동합니다. 12.01.11 112 0
298238 아 형들 나좀 도와줘 이거 이갤 년이 만든거라는디 [6] 숙명의 카인갤로그로 이동합니다. 12.01.11 5821 3
298236 형님들 자바 초보 코드입니다만....... [1] SoliCode갤로그로 이동합니다. 12.01.11 75 0
298234 웹에 미래는 어둡다. [2] 웹징징(183.105) 12.01.11 194 0
298232 기가비트랜 쓰고 싶다 [1] 노가다꾼(211.197) 12.01.11 59 0
298231 살다살다 내가 충동구매를 할줄은 몰랐네... [2] CHALLENGER갤로그로 이동합니다. 12.01.11 109 0
298230 여성부 홈페이지 해킹해서 가이포크스가면 걸어놓고 싶다 [4] 노가다꾼(211.197) 12.01.11 120 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2