티스토리 뷰

안녕하세요? 코딩충입니다.

오늘은 카이사르 암호화 프로그램을 소개하겠습니다.


카이사르 암호가 뭔지 모르시는 분들은 저희 전(지금은 망한) 블로그의 포스팅을 보시면 될 것 같습니다.

카이사르 암호

이 포스팅에서는 카이사르 암호에 대해 잘 나와있으니 참고하시길 바랍니다.

카이사르 암호는 근본적으로 그냥 알파벳을 미는 암호이므로 암호중에서는 코딩하기 쉬운 축에 속합니다.

그냥 아스키 코드 값으로 계산만 하면 되기 때문입니다.

오히려 아래 첨부된 프로그램에서 printf문으로 "또 암호화 하시겠습니까?" 이런 것을 출력하는 게 더 어려운 부분이었습니다.

(자랑을 하거나 코딩 잘하는 척하는 게 절대 아닙니다. 오해하지 마세요 ^^)


암호화 프로그램과 코드는 아래에 첨부했습니다.

프로그램 코드는 조금 더럽게 짜서 읽기가 힘들 수 있는 점 양해 드립니다.

않 올릴려고 했는데 올리는 게 이 포스팅을 보시는 분들을 위해 좋을 것 같아서 올렸습니다.

되도록이면 코드는 않 보시는게 좋을듯 합니다.


핵심소스: str[i] = ((str[i] - 'a') + n) % 26 + 'a';


핵심 소스는 아스키 코드에서 알파벳이 연속해서 있다는 점을 이용해서 현재 문자(str[i])의 알파벳 번째를 알기 위해 'a'의 아스크 코드 값을 빼고 n칸을 민뒤 %26(총 알파벳 숫자)를 해서 암호화된 문자의 번째를 알아낸 뒤 다시 'a'를 더해서 최종적으로 암호화된 문자의 아스크 코드 값을 얻어내는 것입니다.

물론 대소문자 다르게 처리해야 합니다.


코드에 대해서든 프로그램에 대해서든 궁금하신게 있다면 댓글로 꼭! 물어보세요.

다음번에는 해독 프로그램도 제공할 생각입니다. 

물론 저 소스에서 핵심 소스랑 printf속의 한글만 조금 바꾸면 되기는 하지만 조금 다르게 할 생각이라서 꼭 봐주시길 바랍니다.


아 그리고 저 첨부파일을 열때 Windows에서 위험한 파일이라고 경고하는데 바이러스나 해킹 파일이 절대 아니니 안심하셔도 됩니다.


프로그램이나 코드에서 고칠점 대환영입니다!


프로그램이나 코드를 퍼가시는 분들은 퍼가셔도 되는데 프로그램을 퍼가시는 분들은 출처를 꼭 밝혀주시고 코드는 그냥 가져가도 됩니다.

하지만 양심적으로 퍼가시는 분들은 댓글로 "퍼갑니다" 라든지 "감사합니다!" 와 같은 말들을 해주셨으면 좋겠습니다.

이상 코딩충의 카이사르 암호화 프로그램이었습니다. 


첨부파일:

Caesar.exe

main.cpp



공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함