오류 체크좀 해주세요 ㅠㅠ
미리내
밑에 소스가 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]\ 으로 수정해야합니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2690486 | 문자열과 문자형이요 ~ | 다스리 | 2025-04-05 |
2690344 | 일본어 주석 깨짐 문제 (3) | 연하얀 | 2025-04-04 |
2690314 | 암호문 만들기 -비제네르- | 이퓨리한나 | 2025-04-03 |
2690292 | 왕초보자의 질문!!!!!! 도와주세요 (1) | 하랑 | 2025-04-03 |
2690269 | 정올 문제 인데.. 흠 | 반월 | 2025-04-03 |
2690237 | sizeof에서 short형을 썻는데 왜 4byte가 나올까요? (1) | 바나나 | 2025-04-03 |
2690183 | 문자열과 포인트 비교 (2) | 미즈 | 2025-04-02 |
2690154 | a -48 ? | 희미한눈물 | 2025-04-02 |
2690094 | 테트리스 질문요. | 지후 | 2025-04-01 |
2690066 | 문자열비교!! (1) | 매디 | 2025-04-01 |
2689888 | 좀도와주세요;; ㅠㅠ | 사람 | 2025-03-30 |
2689856 | 메뉴 그리는 거 질문 | 나라빛 | 2025-03-30 |
2689831 | c언어 프로그램 추천 | 하연 | 2025-03-30 |
2689801 | c언어 time.h에서 작동이 중지되었습니다. | 하람 | 2025-03-30 |
2689772 | 2차원 배열의 배열명에 대해서.. | 옆집꼬마야 | 2025-03-29 |
2689740 | 게임 TCP소켓 질문 (2) | 불꾼 | 2025-03-29 |
2689711 | 반복문 모래시계 | 한뎃집 | 2025-03-29 |
2689685 | 경우의 수에 따른 결과 처리 질문드립니다. (2) | 다흰 | 2025-03-29 |
2689655 | .exe에 아이콘 넣는 법좀 알려주세요 | 연하얀 | 2025-03-28 |
2689631 | #define 전처리문에 대해서 (2) | 사랑은아픔 | 2025-03-28 |