디시인사이드 갤러리

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

갤러리 본문 영역

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

늅늅(121.183) 2012.01.08 19:29:56
조회 220 추천 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 - -
297824 죽을맛이구나... [2] 돌아이바갤로그로 이동합니다. 12.01.09 48 0
297823 혼자 독학해서 취직할수있뜸? [11] 질문자(220.85) 12.01.09 220 0
297822 방구하기 정말 힘들다... [4] 캐미션닭(121.88) 12.01.09 107 0
297821 실력있는 웹디 프리랜서는 어디가면 구할 수 있어? [1] KA-1(210.106) 12.01.09 155 0
297820 기초적인 코드 질문입니다! [7] 조코랭슐(14.56) 12.01.08 102 0
297819 프로세스클린 믿을만한가여? ㅁㄴㅇ(186.2) 12.01.08 61 0
297818 후..... 오늘 교회에서 자기소개 하는데...... [4] 거칠게갤로그로 이동합니다. 12.01.08 195 0
297817 아.. 테트리스 미치겠다.. 도와주실 횽들 ㅠㅠ [1] dd(112.162) 12.01.08 78 0
297816 컴퓨터 공부 어떻게 시작해야되나요??? [6] ㅁㄴㅇㄹ(121.135) 12.01.08 110 0
297813 C++을 배우긴했는데 코딩스타일이 자꾸 C스타일로 짠다면 [26] aaa(175.207) 12.01.08 270 0
297811 제작 문의 합니다... 보수 o [2] wer(121.147) 12.01.08 79 0
297810 뉴비님들. 프로그래밍을 잘할려면 말야~ [6] (112.152) 12.01.08 157 0
297809 트위터 비공개 트윗 질문점요 [2] add(122.43) 12.01.08 627 0
297808 ....shout....새해엔 꼭...// 학교가자갤로그로 이동합니다. 12.01.08 32 0
297807 다음팟 dxva 설정 포기 T T [1] 분당살람갤로그로 이동합니다. 12.01.08 82 0
297805 비트학원가서 상담받았는데.... [23] 질문자(220.85) 12.01.08 529 0
297803 이게 프로그래머 영역인가, 웹디 영역인가 구분 좀 해줘. [4] KA-1(210.106) 12.01.08 168 0
297802 일본어 잘하면 취업할때 ?유리할까? [3] ㅎㅎ(219.167) 12.01.08 290 0
297801 전자공학과인데 [2] 물리학광신도(222.232) 12.01.08 127 0
횽들 암호화 API 공부하고있는뎀... 늅늅(121.183) 12.01.08 220 0
297797 OpenGL 단계별 추천 서적 좀 쎄워줘. [3] 오프니지엘(183.1) 12.01.08 128 0
297796 RIA는 이제 HTML5로 귀속되는 거냐? 오프니지엘(183.1) 12.01.08 71 0
297795 자바 고수님들 답변 좀 해줘 ㅠㅠㅠ 시방 [1] 하얀(118.129) 12.01.08 102 0
297794 문자열 역순 배열 코딩 한 것좀 질문을 ㅠㅠ [3] (163.152) 12.01.08 176 0
297792 밑에 안드로이드 배열 질문 올린애 보길... [2] 돌아이바갤로그로 이동합니다. 12.01.08 110 0
297791 주말 출근 짱난다.. [1] 아 짜증나(175.211) 12.01.08 99 0
297790 형들 자바 (안드로이드)질문 [배열, 객체, 참조] 앍이게뭐야갤로그로 이동합니다. 12.01.08 143 0
297789 php 세션 좀 질문할게요 [5] 전설의대지갤로그로 이동합니다. 12.01.08 114 0
297788 의욕 충만해서 알바를 여러개 받았는데 하나는 그만둬야 할 때... [1] ㅁㄴ(210.107) 12.01.08 126 0
297785 알바도 안구해지고.. 무력감만 든다 할 수 있는게 없다 [3] 추상화갤로그로 이동합니다. 12.01.08 168 0
297783 왜 우리나라만 엑티브x에 목을매달까 [4] 래댁갤로그로 이동합니다. 12.01.08 204 0
297781 프겔러들은 프로포즈도 프로그램으로 하자 [2] 거칠게갤로그로 이동합니다. 12.01.08 126 0
297780 형들 병특은 연초외에는 구하기 힘든가요? [4] ㅁㄴ(210.107) 12.01.08 126 0
297779 이 삼십대는 삼포 세대라는게 사실인가염 [1] 거칠게갤로그로 이동합니다. 12.01.08 102 0
297776 젠장 뷔페에 커피가 없다 [2] 외계달팽갤로그로 이동합니다. 12.01.08 62 0
297775 영어 공부 ㅠㅠ [3] [성대아싸]갤로그로 이동합니다. 12.01.08 135 0
297774 지금 뷔페에서 혼자 밥먹고 있다 [7] 외계달팽갤로그로 이동합니다. 12.01.08 137 0
297773 코스트코 피자 사먹으러 갈까 고민중이다. [1] ㅇㅇ(59.26) 12.01.08 50 0
297772 프로그래밍 잘하는 가장 단순한 방법! [10] Deskjet(180.71) 12.01.08 361 0
297771 아.. 제주도 떠나기 싫다 [6] 알탱o갤로그로 이동합니다. 12.01.08 124 0
297770 gdb 아시는분들만 [3] 똘꾸갤로그로 이동합니다. 12.01.08 61 0
297769 근데 집에서 개인용 소형 서버 돌리면 [4] dlbo갤로그로 이동합니다. 12.01.08 115 0
297768 이곳에서 10^9^8^7^6^5^4^3^2^1 이 몇인지 구할수 있는분? [4] 쁘따쁘갤로그로 이동합니다. 12.01.08 138 0
297764 세화흉.. 세화흉보삼..(175.211) 12.01.08 32 0
297761 형들 펜티엄D로 동접몇명버틸까? [2] ㅂㅈㄷㄱ쇼(203.226) 12.01.08 103 0
297760 공장 품질 관리팀이 하는 일이 뭐야?? [4] 거칠게갤로그로 이동합니다. 12.01.08 416 0
297759 정보보안쪽 희망하는데 해야할 수학과목... [4] 레몬트리1갤로그로 이동합니다. 12.01.08 200 0
297758 흐아 넘 어려워.. 일광면(119.198) 12.01.08 63 0
297756 [2] ㅁㄴㅇㄹ(221.143) 12.01.08 91 0
297755 프갤엉아들 여러가지 조언 감사했음 다들 꿀잠ㅃㅃ 복학생소프트(118.33) 12.01.08 42 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2