728x90
윈도우 IP 자동할당 스크립트 (batch 파일)
이 포스트는 이전 블로그에서 이전된 포스트입니다.

 

- 고정 IP로 변경할 경우

@echo off

netsh interface ip set address name="<랜카드이름>" source=static <ip> <subnet> <gateway> 1

netsh interface ip delete dns "<랜카드이름>" all

netsh interface ip add dns "<랜카드이름>" <ip>

netsh interface ip add dns "<랜카드이름>" <ip>

ipconfig /all

pause

 

 

- DHCP 서버에서 자동 할당 받도록 하기

@echo off

netsh interface ip set address name="<랜카드이름>" source=dhcp

netsh interface ip delete dns "<랜카드이름>" all

ipconfig /all

pause

 

 

두 소스 모두 메모장에서 열어서 파일 형식을 '모든 파일'로 변경후 .bat 확장자로 저장하시면 실행 파일로 사용가능합니다.

 

728x90
728x90
(C/C++) 시저 암호 구현 예제 (Caesar cipher source)
이 포스트는 이전 블로그에서 이전된 포스트입니다.

 

암호문(Cipher Text)은 비밀을 유지하기 위해 당사자끼리만 알 수 있도록 하는 약속 기호와 같은 것입니다.

반대되는 말로는 평문(Plain Text)가 있습니다.

 

즉, 평문을 암호문으로 바꾸는 과정을 암호화(Encryption)이라 하고, 반대로 암호문을 평문으로 바꾸는 것을 복호화(Decryption)이라고 합니다.

이 과정에서 암호화를 수행하거나 복호화를 수행할 때 양 측에서 알고 있어야 하는 수단을 암호화 알고리즘(Encryption Algorithm)이라고 하며, 이 때 사용되는 규칙을 암호화 키(Encryption Key)라고 합니다.

 

 

이와 같은 암호화 방식 중 대체법(Substitution)이라는 방식이 글자를 다른 글자로 대체하는 암호화 방식입니다.

이는 크게 단일 치환과 다중 치환으로 나뉘는데,

단일 치환은 알파벳 한 글자를 다른 하나의 글자로 대체하는 방식으로 암호화를 수행하는 것을 의미합니다.

이 포스팅에서는 단일 치환 중에서 가장 기초적이고 간단하며 유명한 암호 방식인 시저 암호를 구현하여 볼 것입니다.

 

시저 암호:

시저 암호는 로마 시대에 Julius Caesar라는 사람이 군사적인 목적으로 대체법을 사용한 암호입니다.

이는 아주 간단한 단일 치환 방식으로, 알파벳을 각각 3자 혹은 4자, 5자 등으로 이동시킨 방법을 이용합니다.

 

즉, 모든 문자를 좌측으로 5자 이동을 기준으로 한다면

a는 f가 되고, z는 e가 되는 것입니다.

이해가 잘 안되죠? 아래 표를 보면 이해가 쉽게 될 것 입니다.

평문  a b c d z
암호문 f

즉, 위와 같은 환경에서 text라는 평문을 암호화 한다면 yjcy가 되는 것 입니다.

 

 

본격적으로 소스를 보면 아래와 같습니다.

 

#include <iostream>
#include <string>
using namespace std;

char caesar(char c);
int main(void)
{
    string input;
    string output = "";
    
    cout << "평문을 입력한 후, Enter를 눌러주세요: ";                         
    getline(cin,input);

    for (int i = 0; i < input.length(); i++)
        output += caesar(input[i]);

    cout << output << endl << endl;
    return 0;
}

char caesar(char c)
{
    if (isupper(c))
        c = (((c - 65) + 5) % 26) + 65;
    else if(islower(c))
        c = (((c - 97) + 5) % 26) + 97;

    return c;
}

 

먼저, 평문을 받을 input과 암호문이 저장될 output을 선언합니다.

이후 getline을 통해 input에 평문을 받습니다.

getline을 사용한 이유는 공백도 받을 수 있기 때문입니다.

 

평문이 받아지면, 이후에 한 글자씩 caesar 함수로 넘겨서 작업을 수행하게 됩니다.

isupper는 대문자의 작업을 위함이며, islower는 소문자의 작업을 위해 수행됩니다.

나머지 공백 및 숫자, 특수문자등은 그대로 다시 함수에서 리턴되기 때문에 영향을 받지 않습니다.

 

함수 내에서 5라는 숫자는 이동한 자릿 수를 의미하며, 65와 97은 각각 대소문자의 ASCII코드 시작 번호입니다.

또한 26은 알파벳 총 갯수가 26개 이기 때문에 사용됩니다.

(알파벳의 ASCII 코드는 맨 아래에 참고용으로 첨부하겠습니다.)

 

예를들어 대문자 A가 함수의 인자로 넘어온다면 아래 순서로 처리되는 것입니다.

 1. 65(대문자 A의 ascii값) - 65 = 0

 2. 0 + 5(이동된 자릿 수) = 5

 3. 5 % 26 = 5 (%는 나머지를 구합니다.)

 4. 5 + 65 = 70

 5. ascii 코드에서 70은 F를 의미하므로, 결과적으로 A는 F로 치환됩니다.

 

결과의 예제로 Text를 넣으면 아래와 같이 출력됩니다.

 

 

 


부록 1.

ASCII 코드 표 

(이는 편의상 구글링하여 입수한 사진입니다.)

 

 
 

 

 

728x90
728x90
포토샵에서 ico 확장자로 저장 가능하도록 하기
이 포스트는 이전 블로그에서 이전된 포스트입니다.

 

기본적으로 포토샵을 깔면 '따로 저장'에 ico 확장자는 존재하지 않는다.

따라서 이를 추가하여 보자.

 

이는 플러그인의 추가로 가능한데 ICO 관련 플러그인은 아래 사이트에서 다운받을 수 있다.

http://www.telegraphics.com.au/sw/

 
사이트로 이동한 후, 좌측에서 ICO(Windows Icon) Format을 확인하고 해당 라인 우측에서 Windows용 플러그인을 다운로드 한다.
(64bit의 경우 64bit로 받으면 된다. // 64bit 컴퓨터에서라도 포토샵이 "C:\Program Files (x86)\생략" 처럼 (x86)에 있다면 32bit용으로 사용한다.)

 

 

다운로드 하면 zip 파일을 볼 수 있는데 해당 압축파일의 압축을 해제한다.
그러면 아래와 같은 두 파일을 볼 수 있다.
1. (폴더)dist
2. (파일)ICOFormat.8bi
 
 
 
위 두 파일 및 폴더를 "C:\Program Files (x86)\Adobe\Photoshop 7.0\Plug-Ins\" 폴더 안에 복사해준다.
(포토샵 경로는 버전에 따라 각자 알맞게 변경한다.)
 
이후 포토샵에서 '따로 저장'을 누르면 ICO로 저장이 가능한 것을 볼 수 있다.
(단, 테스팅해보니 사진의 크기가 일정 이상 커지면 ICO 확장자가 보이지 않는다. 따라서 보통 32x32 픽셀로 작업을 권장한다.)

 

 

728x90
728x90
간단 PDF 병합 (간단히 pdf파일 합치는 방법) (무설치/웹)

 

이 포스트는 이전 블로그에서 이전된 포스트입니다.

 

아무런 설치 없이 웹에서 PDF 파일 병합을 도와주는 사이트가 있습니다.

주소는 아래와 같습니다.

http://smallpdf.com/kr/merge-pdf

 

사이트에 접속하면 아래와 같은 화면이 출력됩니다.

파일 드래그 혹은 '파일 선택' 버튼을 클릭하여 파일을 업로드 합니다.

 

파일 업로드를 시작하면 하단에 아래와 같이 출력됩니다.

 

완료되면 '파일 합치기'를 눌러줍니다.

 

병합이 완료되면 아래와 같은 버튼이 출력됩니다.

'지금 파일 다운로드'를 눌러 파일을 다운로드 합니다.

 

파일을 다운로드 완료하면 아래와 같이 병합된 PDF 파일을 확인할 수 있습니다.

728x90
728x90
Windows7 게임 속도(프레임) 높이기
이 포스트는 이전 블로그에서 이전된 포스트입니다.

 

윈도우7에는 에어로 기능이 있습니다.

이는 에어로 스냅, 에어로 셰이크, 에어로 피크 등의 기능을 지원해주는데,

간단하게 하나만 예로 들면 에어로 피크는 아래와 같은 기능을 하는 것입니다.

 

 

 

 

이러한 에어로 기능을 비활성화해서 리소스를 줄이면 게임 시 조금 더 좋은 환경으로 플레이하실 수 있습니다.

 

1. Aero 기능 비활성화하기

 

 1. 해당 게임의 응용프로그램 위치로 이동하고, 우클릭 > 속성을 클릭합니다.
 보통 ProgramFiles 폴더 혹은 해당 게임 회사의 폴더에 있습니다.
 예로 아래와 같습니다.
 롤 : C:\Riot Games\League of Legends KR\lol.launcher.exe
 마영전 : C:\Nexon\Heroes\ko-KR\heroes.exe
   
 2. 호환성 탭에서 아래 두 기능을 체크합니다.
   
 (끝)
 위에서 설정한 에어로 기능 비활성화는 해당 게임이 시작되면 비활성화되고, 종료되면 다시 활성화 되니 게임이 실행되지 않았을때는 평소와 같이 윈도우 편리 기능을 사용할 수 있습니다.

 

 

 

 

 

다음으로 윈도우7 전원관리를 통해 성능을 높이는 것입니다.

이는 전기세를 조금 더 나오게 할 수 있지만, 성능을 높이기 위해서 수행하는 것이기 때문에

사용자에 따라 해주셔도 되고, 그렇지 않으셔도 됩니다.

 

2. 전원관리 옵션 수정

 

 1.  제어판 > 전원 옵션을 선택합니다. (보기 기준: 큰 아이콘)
   
 2. 고성능으로 체크를 변경합니다.
   
 3. 필요에 따라 '컴퓨터가 절전 모드로 전환되는 시간 변경'으로 가서 원하는 값으로 수정합니다.
   

.

 

 

 

728x90
1234567···10

+ Recent posts