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 |
비제네르.exe