>> Delete Reply from No. 23725 article
No. RE: crypt를 이용해서 파일을 암호화시키는 방법??

등록 2001-03-13 21:26:00 By localhost     조회 2
이름 또다른나    

		다음은 crypt()를 이용한 간단한 프로그램임다.
 -- sample.c --
#define _XOPEN_SOURCE  // man crypt에서 이렇게 하라고 하더군요
#include <unistd.h>
 #include <string.h>
#include <stdio.h>
 int main()
{
  char salt[2] = "ab";
  char passwd[8] = "pa$$word";
  char encrypted_password[13+1];
   strcpy(encrypted_password, crypt(passwd, salt));
  printf("encrypted_password = %s", encrypted_password);
}
-- sample.c --
 $gcc -o sample -lcrypt sample.c      <- crypt 라이브러리를 지정해야..
  salt<>는 a-z, A-Z, 0-9, '.', '/' 의 64(=2^6)개 문자중 아무거나 2개를
취해서 만든 길이가 2인 문자열임다.
passwd<>는 사용자가 입력한 패스워드. 길이가 8이고, 하위 7비트를 떼서
모두 56비트만 사용합니다.
이 두 가지를 입력으로 crypt를 돌리면
길이가 13인 encrypted_password 스트링이 나옵니다.
이 스트링도 salt를 구성하는 문자들로 구성되어 있고, 따라서 각
문자는 6비트씩의 정보를 가집니다.
처음 2바이트는 salt와 같고, 나머지 11바이트(=66비트) 중에서
64비트만이 진짜 암호화된 패스워드에 대한 정보를 담고 있습니다.
즉, key(passwd<>)가 64비트, cipher text(encrypted_password<>)가
64비트, plain text("...."와 같은 일정한 문자열)가
64비트인 DES 알고리즘이 crypt내부에서 반
복적으로 돌아가도록 되어
있습니다.
 불행하게도 화일단위로 암호화를 해주는 유틸리티
는 일반적인
리눅스 배포판에는 아직 포함되어 있지 않는 것 같습니다.
cryptdir은 encryp/decryp
t라는 유틸리티를 이용하여 디렉토리를
암호화해주는 스크립트군요.
 crypt()를 이제 아셨다
면 직접 유틸리티를 하나 짜보심이 어떨런지?
(잘 찾아 보시면 그런 프로그램이 이미 있을 
겁니다.)
  : 유닉스 관련 책을 보다가 crypt를 이용해서 파일을 암호화시킬수
: 있다고 하더
군요. 그런데 사용 방법을 모르겟습니다.
: 그리구 리눅스에서는 crypt가 업구 cryptdir이 있는
데.. 이건 어떻게 
: 쓰는 것인지....아시분들 사용법 좀 알려주세요!!
: 
: --
: 리눅스여 영원
하리!!
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved