디시인사이드 갤러리

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

갤러리 본문 영역

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

늅늅(121.183) 2012.01.08 19:29:56
조회 239 추천 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/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
297906 학원 프로젝트 고민... [6] 찹쌀뀨갤로그로 이동합니다. 12.01.09 169 0
297905 곽노현팀장 너야말로 뭔낯짝? ㅈㅈㅈ(116.125) 12.01.09 65 0
297902 성님들 ㅠㅠ 폴더안에있는 파일만 밖으로끄집어내는 방법좀알려주세요 [2] 유동찐따ㅠㅠ(14.55) 12.01.09 110 0
297901 맥 vs PC [14] ㅇㅇ(211.115) 12.01.09 148 0
297900 html 질문 드려요.. [5] html(203.171) 12.01.09 92 0
297899 C에서 fopen / 포인터 사용문제.. 어느 방법이 더 나을까요? [3] 에버리치갤로그로 이동합니다. 12.01.09 82 0
297897 DB 고수 or 프로시져에 대해서 좀 잘아는횽 소환 [7] 캐db닭(115.92) 12.01.09 117 0
297896 형들 만들고 싶은게 있는데 [4] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.01.09 106 0
297895 신봉선도 꾸미기 나름이지 않음? [9] 캐미친닭(115.92) 12.01.09 166 0
297894 야 c언어 java 이런거 배우기 어렵냐? [8] 트럴성기사갤로그로 이동합니다. 12.01.09 222 0
297893 형들 질문좀용 [3] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.01.09 68 0
297892 레지스트리에 관련된 질문. 솔직히 질문도 막막한데 답변주면 진짜 갓인증 [10] 한번 풀어봐(59.22) 12.01.09 107 0
297890 요즘 신봉선이 이뻐보인다. [7] 캐미친닭(115.92) 12.01.09 138 0
297889 인류의 조상이라는데? [1] 이모군(175.114) 12.01.09 107 0
297888 횽들 이거 머가 잘못된거야? [2] 람퐈니갤로그로 이동합니다. 12.01.09 74 0
297885 월요병 극복 하는 방법 [3] ㅇㅇㅇ갤로그로 이동합니다. 12.01.09 100 0
297882 소녀시대 과거사진, CF 무리수+난감 콘셉트 '소시에게도 굴욕 과거가?' 쿄스케갤로그로 이동합니다. 12.01.09 85 0
297880 조선은 돈으로 움직이지 않는 기적같은 나라였음 [2] 1(183.104) 12.01.09 107 0
297879 에러 질문좀 아주아주 간단함 [2] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.01.09 71 0
297877 내가 제일 싫어하는거 [2] 영어쓰던남자갤로그로 이동합니다. 12.01.09 94 0
297876 고액연봉인데 파워야근(최소 24시퇴근)vs 칼퇴근에 저액연봉 [10] 거칠게갤로그로 이동합니다. 12.01.09 229 0
297875 뭐든 것은 돈으로 움직이는거 같다 [1] 거칠게갤로그로 이동합니다. 12.01.09 60 0
297874 NHN이나 daum 별론가요? [4] ㅁㅁ(211.208) 12.01.09 244 0
297873 Access랑 Oracle이랑 테이블 연동 해 본 프머 있나? ㄷㄷ(112.221) 12.01.09 53 0
297872 직딩횽들 연봉 많이 올랐음?? [13] 쿄스케갤로그로 이동합니다. 12.01.09 209 0
297869 뜬금없는 인공지능 드립 [1] 1(183.104) 12.01.09 91 0
297866 밑에 온라인 핵 만들어달라고 한 사람 말야. [17] ♪♩안봉봉♬갤로그로 이동합니다. 12.01.09 227 0
297865 0xc0150002 이런 에러코드 아는갤러? Sins갤로그로 이동합니다. 12.01.09 84 0
297864 형들중에 해킹이나 보안 전문가 형들 있어? [2] 수상한김토끼갤로그로 이동합니다. 12.01.09 229 0
297862 국내업체중 개발자 직장순위를 매기면 어디가 1위임? [16] 132321(121.162) 12.01.09 390 0
297861 조깅 부작용 [3] 이모군(175.114) 12.01.09 126 0
297859 형들 자바api있잖아 [4] 플래닛댄스갤로그로 이동합니다. 12.01.09 110 0
297858 간단한 온라인게임 핵? 버그? 의뢰제작 해주실분. 보수 20만원 [6] 234(121.147) 12.01.09 3006 0
297857 형들 c# using 했는데도 네임스페이스 다 찍어야되는데 도움좀 [3] (61.75) 12.01.09 87 0
297856 갤탭을 서버로 돌려보니 [15] ㅇㅇㅇ갤로그로 이동합니다. 12.01.09 163 0
297855 언능 들어가고 싶다 Aven갤로그로 이동합니다. 12.01.09 41 0
297854 형들 게임업계가 그렇게 좃같음?? 게임업계 갈생각인데 [4] 게임업(59.30) 12.01.09 202 1
297852 제발 실력있는 웹디자이너 프리랜서 한 명만 소개시켜줘 [4] KA-1(221.155) 12.01.09 229 0
297851 아오 이제 H.264 볼 때는 PowerDVD만 써야지... [9] 분당살람갤로그로 이동합니다. 12.01.09 136 0
297850 애플릿 많이쓰여? ㅂㅈㄷ(210.178) 12.01.09 46 0
297849 괴상한 c언어 문법 질문 있습니다. [3] ㅋㅋ(121.169) 12.01.09 255 0
297847 프게이들 서류 작업 귀찮지 않냐? [3] □ㅁ갤로그로 이동합니다. 12.01.09 85 0
297846 네이년이나 프갤이나 ㅋㅋ [8] 신도림행(1.99) 12.01.09 179 0
297845 웹디자인과 웹프로그랭은 별개? [2] 볼일같은잠(59.13) 12.01.09 141 0
297844 비쥬얼 스튜디오 단축키 질문 [1] ㅁㄴㄴㅇㄹ(210.178) 12.01.09 68 0
297843 인턴 첫 출근.......... [4] 주시미갤로그로 이동합니다. 12.01.09 175 0
297842 asus ㅅㅂ ㅠㅠ [1] C_Perl갤로그로 이동합니다. 12.01.09 73 0
297841 1000배 빠른 5G ㄷㄷㄷ [2] 개심심(61.73) 12.01.09 121 0
297838 html? jsp? 궁금한게 있어요; [2] 궁금해요(203.171) 12.01.09 90 0
297837 php 변수 질문좀...ㅠㅠ [2] 전설의대지갤로그로 이동합니다. 12.01.09 67 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2