디시인사이드 갤러리

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

갤러리 본문 영역

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

늅늅(121.183) 2012.01.08 19:29:56
조회 221 추천 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 - -
297913 횽들~ 넷북으로 자바/JSP/MYSQL 공부는 할수잇음? [2] 조자바(121.140) 12.01.09 300 0
297912 망하는 제품의 흔한 개발 과정.avi [4] 때릴꺼야?(116.40) 12.01.09 193 0
297911 "GDI객체를 이용한 이미지 트래킹" 기술은 어디서 배우는거임??.. [1] 제이드(175.122) 12.01.09 48 0
297910 형들 stack에서 팝 연산있잖아요 [3] SoliCode갤로그로 이동합니다. 12.01.09 53 0
297906 학원 프로젝트 고민... [6] 찹쌀뀨갤로그로 이동합니다. 12.01.09 151 0
297905 곽노현팀장 너야말로 뭔낯짝? ㅈㅈㅈ(116.125) 12.01.09 52 0
297902 성님들 ㅠㅠ 폴더안에있는 파일만 밖으로끄집어내는 방법좀알려주세요 [2] 유동찐따ㅠㅠ(14.55) 12.01.09 91 0
297901 맥 vs PC [14] ㅇㅇ(211.115) 12.01.09 130 0
297900 html 질문 드려요.. [5] html(203.171) 12.01.09 70 0
297899 C에서 fopen / 포인터 사용문제.. 어느 방법이 더 나을까요? [3] 에버리치갤로그로 이동합니다. 12.01.09 63 0
297897 DB 고수 or 프로시져에 대해서 좀 잘아는횽 소환 [7] 캐db닭(115.92) 12.01.09 99 0
297896 형들 만들고 싶은게 있는데 [4] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.01.09 99 0
297895 신봉선도 꾸미기 나름이지 않음? [9] 캐미친닭(115.92) 12.01.09 159 0
297894 야 c언어 java 이런거 배우기 어렵냐? [8] 트럴성기사갤로그로 이동합니다. 12.01.09 204 0
297893 형들 질문좀용 [3] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.01.09 51 0
297892 레지스트리에 관련된 질문. 솔직히 질문도 막막한데 답변주면 진짜 갓인증 [10] 한번 풀어봐(59.22) 12.01.09 88 0
297890 요즘 신봉선이 이뻐보인다. [7] 캐미친닭(115.92) 12.01.09 124 0
297889 인류의 조상이라는데? [1] 이모군(175.114) 12.01.09 87 0
297888 횽들 이거 머가 잘못된거야? [2] 람퐈니갤로그로 이동합니다. 12.01.09 59 0
297885 월요병 극복 하는 방법 [3] ㅇㅇㅇ갤로그로 이동합니다. 12.01.09 78 0
297882 소녀시대 과거사진, CF 무리수+난감 콘셉트 '소시에게도 굴욕 과거가?' 쿄스케갤로그로 이동합니다. 12.01.09 68 0
297880 조선은 돈으로 움직이지 않는 기적같은 나라였음 [2] 1(183.104) 12.01.09 89 0
297879 에러 질문좀 아주아주 간단함 [2] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.01.09 51 0
297877 내가 제일 싫어하는거 [2] 영어쓰던남자갤로그로 이동합니다. 12.01.09 75 0
297876 고액연봉인데 파워야근(최소 24시퇴근)vs 칼퇴근에 저액연봉 [10] 거칠게갤로그로 이동합니다. 12.01.09 209 0
297875 뭐든 것은 돈으로 움직이는거 같다 [1] 거칠게갤로그로 이동합니다. 12.01.09 41 0
297874 NHN이나 daum 별론가요? [4] ㅁㅁ(211.208) 12.01.09 225 0
297873 Access랑 Oracle이랑 테이블 연동 해 본 프머 있나? ㄷㄷ(112.221) 12.01.09 34 0
297872 직딩횽들 연봉 많이 올랐음?? [13] 쿄스케갤로그로 이동합니다. 12.01.09 191 0
297869 뜬금없는 인공지능 드립 [1] 1(183.104) 12.01.09 73 0
297866 밑에 온라인 핵 만들어달라고 한 사람 말야. [17] ♪♩안봉봉♬갤로그로 이동합니다. 12.01.09 208 0
297865 0xc0150002 이런 에러코드 아는갤러? Sins갤로그로 이동합니다. 12.01.09 67 0
297864 형들중에 해킹이나 보안 전문가 형들 있어? [2] 수상한김토끼갤로그로 이동합니다. 12.01.09 211 0
297862 국내업체중 개발자 직장순위를 매기면 어디가 1위임? [16] 132321(121.162) 12.01.09 369 0
297861 조깅 부작용 [3] 이모군(175.114) 12.01.09 104 0
297859 형들 자바api있잖아 [4] 플래닛댄스갤로그로 이동합니다. 12.01.09 90 0
297858 간단한 온라인게임 핵? 버그? 의뢰제작 해주실분. 보수 20만원 [6] 234(121.147) 12.01.09 2985 0
297857 형들 c# using 했는데도 네임스페이스 다 찍어야되는데 도움좀 [3] (61.75) 12.01.09 65 0
297856 갤탭을 서버로 돌려보니 [15] ㅇㅇㅇ갤로그로 이동합니다. 12.01.09 144 0
297855 언능 들어가고 싶다 Aven갤로그로 이동합니다. 12.01.09 22 0
297854 형들 게임업계가 그렇게 좃같음?? 게임업계 갈생각인데 [4] 게임업(59.30) 12.01.09 183 1
297852 제발 실력있는 웹디자이너 프리랜서 한 명만 소개시켜줘 [4] KA-1(221.155) 12.01.09 208 0
297851 아오 이제 H.264 볼 때는 PowerDVD만 써야지... [9] 분당살람갤로그로 이동합니다. 12.01.09 118 0
297850 애플릿 많이쓰여? ㅂㅈㄷ(210.178) 12.01.09 36 0
297849 괴상한 c언어 문법 질문 있습니다. [3] ㅋㅋ(121.169) 12.01.09 236 0
297847 프게이들 서류 작업 귀찮지 않냐? [3] □ㅁ갤로그로 이동합니다. 12.01.09 76 0
297846 네이년이나 프갤이나 ㅋㅋ [8] 신도림행(1.99) 12.01.09 157 0
297845 웹디자인과 웹프로그랭은 별개? [2] 볼일같은잠(59.13) 12.01.09 122 0
297844 비쥬얼 스튜디오 단축키 질문 [1] ㅁㄴㄴㅇㄹ(210.178) 12.01.09 52 0
297843 인턴 첫 출근.......... [4] 주시미갤로그로 이동합니다. 12.01.09 158 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2