오류 체크좀 해주세요 ㅠㅠ
미리내
밑에 소스가 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]\ 으로 수정해야합니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700426 | 인터넷 창 띄우는 질문이요 (1) | 정훈 | 2025-07-04 |
2700400 | 원넓이를 계산이요 ㅜㅜ | 천칭자리 | 2025-07-04 |
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |
2700070 | while문 , 3의배수 출력하는 프로그램좀 짜주세욤. | 횃불 | 2025-07-01 |
2700041 | 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? | 헛장사 | 2025-07-01 |
2700012 | 배열// (1) | 전갈자리 | 2025-07-01 |
2699895 | 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) | 선아 | 2025-06-30 |
2699842 | 질문을 너무 많이 하네여.....죄송.... (2) | 해님꽃 | 2025-06-29 |
2699816 | 오류 질문입니다.. (1) | 해비치 | 2025-06-29 |
2699763 | 질문입니다 ! 꼭 좀 도와주세요ㅠㅠ (2) | 미라 | 2025-06-28 |
2699555 | c언어 다항식을 입력을 했는데 왜 출력이 안될까요? | 피스케스 | 2025-06-27 |