오류 체크좀 해주세요 ㅠㅠ
미리내
밑에 소스가 DES프로그램중의 가장 기본 쏘스 인대요...소스 내용은 8문자를 입력해서 4문자4문자를 분리 햇다가 다시 붙이는 과정입니다. 근데 글자 8자를 입력하면 마지막에 출력값이 이상한 특수문자 값이 나오는데 어디가 잘못된걸까요?
예security 를 입력하면 마지막에 출력값도 똑같은 값이 나와야합니다. 왜그런지 아시겠는분 답글좀 ㅠㅠ
#includestdio.h
#includestring.h
#define DWORD unsigned long
void main()
{
char plain_data[8] = {0,}, temp[8]={0,};
DWORD New[2] = {0, 0};
DWORD data[2] = {0, 0};
int SHIFT, num;
printf(DES 프로그램\n);
printf(8문자 이하의 문자를 입력하세요 :);
gets(plain_data);
for(num = 0 ;num 4 ;num++)
{
SHIFT = ((3-num)*8);
New[1] ^= ((DWORD)plain_data[num]) SHIFT;
New[1] ^= ((DWORD)plain_data[num+4]) SHIFT;
}
// Initialpermutation(New);
// InverseInitialpermutation(New);
for(num=0; num4; num++)
{
temp[num] = (char)((New[1] (24-(8*num))) & 0x000000ff);
temp[num+4] = (char)((New[0] (24-(8*num))) & 0x000000ff);
}
printf(\n복구화 문장 : );
for(num=0; num8; num++)
printf(%c, temp[num]);
printf(\n);
}
-
하루키 2024-10-06
와 내 글씨체 왜 저딴식으로 바꼈데냐 ㅎ
-
꽃짱아 2024-10-06
훗...다들 감사;;;
-
단순드립 2024-10-06
New[1] ^= ((DWORD)plain_data[num]) SHIFT;
New[1] ^= ((DWORD)plain_data[num+4]) SHIFT;
윗 님들의 말씀처럼 첫번째에 NEW[0]으로 바꾸면 될것 같군요... -
하예진 2024-10-06
New[1] ^= ((DWORD)plain_data[num]) SHIFT;
New[1] ^= ((DWORD)plain_data[num+4]) SHIFT;
이렇게 하셨는데요, 첫번째를 \New[1]\ 에서 \New[0]\ 으로 수정해야합니다.
이우석님 글씨체 짱드셈 -
키클 2024-10-06
New[1] ^= ((DWORD)plain_data[num]) SHIFT;
New[1] ^= ((DWORD)plain_data[num+4]) SHIFT;
이렇게 하셨는데요, 첫번째를 \New[1]\ 에서 \New[0]\ 으로 수정해야합니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694012 | 전공 비전공자 개발자 (10) | 말글 | 2025-05-07 |
2693984 | 오버로딩이 무엇인가요? (2) | 헛매질 | 2025-05-07 |
2693956 | PlaySound재생이 안됩니다!(C에 음악넣기) | 지존 | 2025-05-06 |
2693928 | &와 *의 사용에 관한 명확한 이해 | 제나 | 2025-05-06 |
2693903 | 반복문 설명좀요 ㅠㅠ (2) | 란새 | 2025-05-06 |
2693869 | stdio.h 는 왜 쓰는건가요? (1) | 큰꽃들 | 2025-05-06 |
2693842 | 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) | 진솔 | 2025-05-05 |
2693811 | 소수 출력;;;; | 화이트캣 | 2025-05-05 |
2693788 | 이런 함수는 없나요? (3) | 앤드류 | 2025-05-05 |
2693758 | txt파일 불러와서 행렬로 저장 | 큰애 | 2025-05-05 |
2693727 | scanf 오류 문제!! (2) | 큰나래 | 2025-05-04 |
2693704 | 구조체 주소록 문제인데 도와주세요 (2) | 도1도캣 | 2025-05-04 |
2693676 | 열혈강의 c언어 질문입니다 | 하양이 | 2025-05-04 |
2693647 | 12.620000 을요 12.620 으로 어떻게 표현해요? (2) | 파도 | 2025-05-04 |
2693619 | 타이틀 코드.. | 단순드립 | 2025-05-03 |
2693591 | 컴파일 에러에서 질문드립니다 (3) | 게자리 | 2025-05-03 |
2693463 | 동적할당 이용시 fwrite사용을 어떻게 해야하나요..? (10) | 일본어못해요 | 2025-05-02 |
2693387 | 배열문제입니다 수정오류캡쳐했습니다 (6) | 연하얀 | 2025-05-01 |
2693356 | text 입출력 내림차순 질문입니다 ㅠ | 빛글 | 2025-05-01 |
2693328 | C언어를이용해서 .txt파일 외에 다른 확장자 파일 삭제가 가능한지.. (2) | 대나무 | 2025-05-01 |