반응형
위 코드는, 문자열을 입력 받은 다음 암호화 할 것인지, 복호화 할 것인지 사용자의 의사를 묻고
암호(복호)키(얼마만큼 문자열을 이동(변형)시킬 것인지) 를 입력받아 암호/복호화 하는 순서로 돌아갑니다.
암호화와 복호화의 원리가 무엇이냐면 비밀번호와 같은 특정 데이터를 입력 받고
배열에 저장된 데이터의 각 원소들을 일정량만큼 변형시켜서 변현된 최종 데이터를 반환하는 것인데요.
예를 들어서, 만약에 "abcde" 라는 비밀번호를 입력했다고 가정했을 때,
a,b,c,d,e 는 각각 하나의 문자로써 ASCII 코드를 가지고 있습니다.
a = 97, b = 98, c = 99, d = 100, e = 101 입니다.
반복문을 통해서 a~e 까지의 문자에 3이라는 암호키를 더한다고 가정하면
100(d), 101(e), 102(f), 103(g), 104(h) 가 됩니다.
abcde 라는 원본 데이터에 3이라는 암호키를 통해 암호화하면 defgh 라는 암호화 된 데이터가 나오죠.
암호화의 원리만 알면 복호화 작업은 거꾸로만 하면 됩니다.
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[알고리즘] 순차탐색, 이진탐색 알고리즘 소개 및 성능 비교 (0) | 2012.11.19 |
---|---|
[C언어/알고리즘] sizeof 연산자를 이용해 배열의 원소 개수를 구하는 방법 (0) | 2012.11.19 |
[C언어/알고리즘] 문자열의 대소문자 반전 (0) | 2012.09.17 |
[C언어/알고리즘] 원하는 범위 내의 난수 생성하기 (0) | 2012.09.17 |
[C언어/알고리즘] n번째 피보나치 수 출력하기 (0) | 2012.06.04 |