디시인사이드 갤러리

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

갤러리 본문 영역

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

늅늅(121.183) 2012.01.08 19:29:56
조회 229 추천 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 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
297876 고액연봉인데 파워야근(최소 24시퇴근)vs 칼퇴근에 저액연봉 [10] 거칠게갤로그로 이동합니다. 12.01.09 215 0
297875 뭐든 것은 돈으로 움직이는거 같다 [1] 거칠게갤로그로 이동합니다. 12.01.09 49 0
297874 NHN이나 daum 별론가요? [4] ㅁㅁ(211.208) 12.01.09 231 0
297873 Access랑 Oracle이랑 테이블 연동 해 본 프머 있나? ㄷㄷ(112.221) 12.01.09 43 0
297872 직딩횽들 연봉 많이 올랐음?? [13] 쿄스케갤로그로 이동합니다. 12.01.09 200 0
297869 뜬금없는 인공지능 드립 [1] 1(183.104) 12.01.09 81 0
297866 밑에 온라인 핵 만들어달라고 한 사람 말야. [17] ♪♩안봉봉♬갤로그로 이동합니다. 12.01.09 218 0
297865 0xc0150002 이런 에러코드 아는갤러? Sins갤로그로 이동합니다. 12.01.09 75 0
297864 형들중에 해킹이나 보안 전문가 형들 있어? [2] 수상한김토끼갤로그로 이동합니다. 12.01.09 217 0
297862 국내업체중 개발자 직장순위를 매기면 어디가 1위임? [16] 132321(121.162) 12.01.09 376 0
297861 조깅 부작용 [3] 이모군(175.114) 12.01.09 113 0
297859 형들 자바api있잖아 [4] 플래닛댄스갤로그로 이동합니다. 12.01.09 94 0
297858 간단한 온라인게임 핵? 버그? 의뢰제작 해주실분. 보수 20만원 [6] 234(121.147) 12.01.09 2993 0
297857 형들 c# using 했는데도 네임스페이스 다 찍어야되는데 도움좀 [3] (61.75) 12.01.09 73 0
297856 갤탭을 서버로 돌려보니 [15] ㅇㅇㅇ갤로그로 이동합니다. 12.01.09 149 0
297855 언능 들어가고 싶다 Aven갤로그로 이동합니다. 12.01.09 32 0
297854 형들 게임업계가 그렇게 좃같음?? 게임업계 갈생각인데 [4] 게임업(59.30) 12.01.09 194 1
297852 제발 실력있는 웹디자이너 프리랜서 한 명만 소개시켜줘 [4] KA-1(221.155) 12.01.09 217 0
297851 아오 이제 H.264 볼 때는 PowerDVD만 써야지... [9] 분당살람갤로그로 이동합니다. 12.01.09 121 0
297850 애플릿 많이쓰여? ㅂㅈㄷ(210.178) 12.01.09 37 0
297849 괴상한 c언어 문법 질문 있습니다. [3] ㅋㅋ(121.169) 12.01.09 243 0
297847 프게이들 서류 작업 귀찮지 않냐? [3] □ㅁ갤로그로 이동합니다. 12.01.09 78 0
297846 네이년이나 프갤이나 ㅋㅋ [8] 신도림행(1.99) 12.01.09 168 0
297845 웹디자인과 웹프로그랭은 별개? [2] 볼일같은잠(59.13) 12.01.09 132 0
297844 비쥬얼 스튜디오 단축키 질문 [1] ㅁㄴㄴㅇㄹ(210.178) 12.01.09 58 0
297843 인턴 첫 출근.......... [4] 주시미갤로그로 이동합니다. 12.01.09 163 0
297842 asus ㅅㅂ ㅠㅠ [1] C_Perl갤로그로 이동합니다. 12.01.09 57 0
297841 1000배 빠른 5G ㄷㄷㄷ [2] 개심심(61.73) 12.01.09 109 0
297838 html? jsp? 궁금한게 있어요; [2] 궁금해요(203.171) 12.01.09 83 0
297837 php 변수 질문좀...ㅠㅠ [2] 전설의대지갤로그로 이동합니다. 12.01.09 54 0
297835 횽들 공전 그려주는 알고리즘인데 질문있슴다. [4] 치킨맛맛폰갤로그로 이동합니다. 12.01.09 108 0
297833 형들 이거 하나만 물어볼께 [11] C+ㅏ+ㅏ갤로그로 이동합니다. 12.01.09 125 0
297829 내가 좋은 데 알아왔다 -ㅂ-(183.102) 12.01.09 60 0
297827 나는 취미로 웹프로그래밍해서 부담이 없어서 좋음ㅋ [1] oniiion갤로그로 이동합니다. 12.01.09 142 0
297826 회사 다니면서 대학원을 생각해 보고 있는데 대학원은 어때?? [3] 거칠게갤로그로 이동합니다. 12.01.09 297 0
297825 질문드릴께요 [2] 잉년과아이들갤로그로 이동합니다. 12.01.09 125 0
297824 죽을맛이구나... [2] 돌아이바갤로그로 이동합니다. 12.01.09 56 0
297823 혼자 독학해서 취직할수있뜸? [11] 질문자(220.85) 12.01.09 227 0
297822 방구하기 정말 힘들다... [4] 캐미션닭(121.88) 12.01.09 108 0
297821 실력있는 웹디 프리랜서는 어디가면 구할 수 있어? [1] KA-1(210.106) 12.01.09 155 0
297820 기초적인 코드 질문입니다! [7] 조코랭슐(14.56) 12.01.08 106 0
297819 프로세스클린 믿을만한가여? ㅁㄴㅇ(186.2) 12.01.08 70 0
297818 후..... 오늘 교회에서 자기소개 하는데...... [4] 거칠게갤로그로 이동합니다. 12.01.08 195 0
297817 아.. 테트리스 미치겠다.. 도와주실 횽들 ㅠㅠ [1] dd(112.162) 12.01.08 91 0
297816 컴퓨터 공부 어떻게 시작해야되나요??? [6] ㅁㄴㅇㄹ(121.135) 12.01.08 118 0
297813 C++을 배우긴했는데 코딩스타일이 자꾸 C스타일로 짠다면 [26] aaa(175.207) 12.01.08 276 0
297811 제작 문의 합니다... 보수 o [2] wer(121.147) 12.01.08 88 0
297810 뉴비님들. 프로그래밍을 잘할려면 말야~ [6] (112.152) 12.01.08 164 0
297809 트위터 비공개 트윗 질문점요 [2] add(122.43) 12.01.08 639 0
297808 ....shout....새해엔 꼭...// 학교가자갤로그로 이동합니다. 12.01.08 43 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2