#include<stdio.h>
#include<string.h>
void vigenere(char *str1, char *str2, char *str3);
int main(void)
{
char word[100];
char key[100];
char chipstr[100];
while(1)
{
puts("평문을 입력하시오");
gets(word);
puts("key 문자열을 입력하시오");
gets(key);
vigenere(word, key, chipstr);
puts("암호화된 문자열입니다.");
puts(chipstr);
}
return 0;
}
void vigenere(char *str1, char *str2, char *str3)
{
int wlen;
int i, tempn;
wlen=strlen(str1);
for(i=0;i<wlen;i++)
{
tempn=0;
if(str1[i]>='a'&&str1[i]<='z')
tempn+=str1[i]-'a';
else if(str1[i]>='A'&&str1[i]<='Z')
tempn+=str1[i]-'A';
if(str2[i]>='a'&&str2[i]<='z')
tempn+=str2[i]-'a';
else if(str2[i]>='A'&&str2[i]<='Z')
tempn+=str2[i]-'A';
if(tempn>26)
tempn-=26;
str3[i] = tempn+'a';
}
str3[i]='\0';
}
'시스템 프로그래밍 > C/C++/C#' 카테고리의 다른 글
[C++] 1일차 복습 (0) | 2015.01.28 |
---|---|
[C/C++] 포인터도 증감이 가능할까? (0) | 2014.12.27 |
[C/C++] 분기(Goto)에 관하여 (0) | 2014.12.23 |