FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[709] Re:이것좀 갈켜주세엽 ㅠ.ㅠ
최준호.스페로 [sparrow] 2076 읽음    2003-04-20 21:00
안녕하세요 스페로 입니다. ..

일단 여기는 인터베이스 게시판인데 실수 하신듯 하군요...

힌트만 드리겠습니다.

비트 연산 XOR는 같은 비트 1과 1 또는 0과 0일대 거짓 즉 0을
서로 다른 비트 0과 1 또는 1과 0 일때 참 1을

예를 보이면

1 XOR 0 = 1
1 XOR 1 = 0


그럼 좀더 복잡하게 2비트를 해보죠

10 XOR 01 = 11


그럼 암호에 원리를 해볼까요

위에서 결과 11과 01을 XOR연산 해봅시다.

11 XOR 01 = 10

결과가 처음에 10이 됫죠

즉 문제는 입력된 문자열을 하나의 문자로 서로 XOR연산 시켜서 암호화된 문자열을 만들고

그걸 다시 하나의 문자로 XOR연산 시키면 처음에 입력된 문자열이 된다는 의미죠


님께서 어렵게 생각하는 것은 ^ (XOR) 연산자 한번으로 끝나는게 아닙니다.

모든 문자열을 하나하나 해줘야죠 루프를 돌리셔야 하고요

내부적으로 문자 (char) 는 1바이트 8비트로 각각의 비트들이 XOR연산을 한답니다.

그럼 ^^

??? 님이 쓰신 글 :
: 자신이 원하는 단어(영문 10자 이내)를 입력받고 비밀 키와 XOR 연산자를 이용하여 암호화하고자 한다. 단, 비밀키는 영문자 1자를 입력받아 사용한다. 먼저 단어의 각 문자를 비밀키와 XOR를 하여 암호화된 단어를 출력해 보시오. 그리고 암호화된 단어를 똑같은 문자로 다시 XOR하면 원래 단어가 출력됨을 보이시오.       <=============== 이게 문제 인데엽 잘 모르겠어엽 ㅠ.ㅠ
:
: #include <stdio.h>
:
:  void main()
: {
: char a,b,c,d;
: c=a ^b;
: d=c ^c;
:
: printf("자신이 원하는 단어 입력하시오.(영문 10자 이내) \n");
:  scanf("%s \n",&a);
: printf("비밀키 입력하시오.(영문 1자) \n");
:  scanf("%c \n",&b);
:
: printf("암호화된 단어 => %s \n",c);
: printf("원래 단어 => %s \n",d);
: } <============= 한번 이렇게 풀어 봤는데 Nell 밖에 않나오네엽 ㅠ.ㅠ
: c언어 고수님 도와주세엽 ㅠ.ㅠ
:

+ -

관련 글 리스트
708 이것좀 갈켜주세엽 ㅠ.ㅠ ??? 1941 2003/04/19
709     Re:이것좀 갈켜주세엽 ㅠ.ㅠ 최준호.스페로 2076 2003/04/20
710         Re:Re:죄송합니다. 자세히 좀... ??? 1931 2003/04/20
711             Re:Re:Re:죄송합니다. 자세히 좀... 최준호.스페로 2020 2003/04/21
712                 윽 안돼네엽 ㅠ.ㅠ ??? 1791 2003/04/21
713                     Re:윽 안돼네엽 ㅠ.ㅠ 최준호.스페로 1936 2003/04/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.