728x90
#include <stdio.h> #include <stdlib.h> #include <string.h> void space(){system("cls");printf("\n\n\n\t\t");} void main() { int i=0, j=0, keys=0, strs=0, select=0; char str[100] ={0,}; char key[100]={0,}; space(); printf("평문 또는 암호문을 입력하세요 .\n\t> "); gets(str); space(); printf("암호문은 1번 복호는 2번 : "); scanf("%d",&select); space(); printf("키 값입력 : "); scanf("%s",key); strs= strlen(str); keys= strlen(key); for(i=0;i<strs;i++) { j=i % keys; if(select==1){ if((str[i]>='a')&&(str[i]<='z')) { str[i]-='a'; key[j]-='a'; if((str[i]+key[j]) <0) str[i]+=26; str[i] =(str[i]+key[j])%26; str[i]+='a'; key[j]+='a'; } if((str[i] >='A')&&(str[i]<='Z')) { str[i]-='A'; key[j]-='A'; if((str[i]+key[j])<0) str[i]+=26; str[i]=(str[i]+key[j])%26; str[i]+='A'; key[j]+='A'; } } if(select == 2) { if((str[i]>='a')&&(str[i]<='z')) { str[i]-='a'; key[j]-='a'; if((str[i]-key[j]) <0) str[i]+=26; str[i] =(str[i]-key[j])%26; str[i]+='a'; key[j]+='a'; } if((str[i] >='A')&&(str[i]<='Z')) { str[i]-='A'; key[j]-='A'; if((str[i]-key[j])<0) str[i]+=26; str[i]=(str[i]-key[j])%26; str[i]+='A'; key[j]+='A'; } } } space(); printf("암호화 또는 복호화된 결과 출력\n\t\t"); for(i=0;i<strs;i++){ printf("-"); if(str[i]=='/') str[i]='I'; if(str[i]=='2') str[i]='L'; } printf("\n\t\t%s\n\n\n\n\n\n",str); }
암호화
복호화
'it > programming' 카테고리의 다른 글
[javascript] 배경색, 글자색 바꾸기 (0) | 2013.10.17 |
---|---|
[java] Math 메소드를 활용한 가위바위보 (0) | 2013.09.25 |
[C++] ASCII 코드를 이용한 간단한 암호화, 복호화 (0) | 2013.09.21 |