일일 정리

OSPF - default route 설정, 고전 암호, PHP 반복문 for

mysecurity 2025. 2. 7. 17:47

목차

1. OSPF - default route 설정

1-1 default route 설정

 

2. 고전 암호

2-1 사각 행렬 기법

 

3. PHP 반복문 for

3-1 for 문

3-2 for 문 활용

 

 

1. OSPF - default route 설정

1-1 default route 설정

OSPF에서도 다른 라우터 설정과 같이 디폴트 라우트 설정이 가능하다. 설정 형식은 이전에 살펴본 RIP 형식과 유사하다.

 

외부와 연결되는 하나의 라우터를 추가하여 기존의 라우터 설정과 같이 인터페이스 설정 후 로컬 루프백 인터페이스까지 설정한다.

이후 라우트 설정에서 디폴트 라우트 경로를 루프백 인터페이스로 향하도록 설정한다.

디폴트 라우트 정보를 공유하도록 설정하여 완료한다.

 

02월 06일에 구현한 OSPF 구현 환경에서 외부와 연결되는 하나의 라우터를 추가하여 다음과 같이 디폴트 라우트를 구현할 수 있다.

OSPF - dafault route 설정 구현

 

+

(02-10 사진 추가)

OSPF - dafault route 설정 구현 2

2. 고전 암호

2-1 사각 행렬 기법

사각 행렬 기법의 암호화 순서는 다음과 같다.

 

① 1~n까지 의 숫자를 무작위로 나열하여 키로 설정한다.

② 평문을 공백없이 n열인 사각형의 행렬로 나열한다. 공백이 있을 시 임의의 문자로 채운다. 이때 행의 갯수는 n보다 많아야한다.

③ 1~n 순서대로 매치되는 열의 문자를 위에서부터 읽어 암호문을 완성한다.

 

ex)

키: 14253

평문: perfect security does not exist in this world

1 4 2 5 3
p e r f e
c t s e c
u r i t y
d o e s n
o t e x i
s t i n t
h i s w o
r l d a e

 

암호문: pcudoshrrsieeisdecynitoeetrottilfetsxnwa

 

3. PHP 반복문 for

3-1 for 문

for 문의 형식은 다음과 같다.

for (초기식; 조건; 증감식) {
      실행문;
}
 
 for($a = 1; $a <= 10; $a++) {
   echo(" {$a}<br> ");
}

 

- 조건이 참인 동안 실행문을 반복 실행한다.

- 초기식은 맨 처음 한번만 실행된다.

- for 문은 실행부를 보지 않고서도 반목문의 횟수와 변수의 변화를 확인할 수 있으므로 반복문 중 가장 가독성이 좋다. 즉, 가장 많이 사용한다.

 

3-2 for 문 활용

for 문을 활용하여 다음과 같이 입력한 숫자가 소수인지 판별하는 프로그램을 만들 수 있다.

				// 입력한 수가 소수인지 구하는 프로그램 HTML //
<html>
 <head>
 <title>3-1f.html 입력 폼파일</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8">
 </head>
 <form method="post" action="ex2.php">
    1보다 큰 값을 입력하세요 : <input type="text" name="num"><br>
        <input type="submit" name="확인" value="확인">
 <input type="reset" name="취소" value="취소"><br>
 </form>
 <hr>
 <?  show_source(__FILE__); ?>
 </html>

 

				// 입력한 수가 소수인지 구하는 프로그램 PHP //
<html>

<head>
    <title>ex2.php</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">   
</head>

<body>
    <?
    $num = $_POST["num"];
    $b = 0;

    if($num <= 1 ) { 
        echo("
             <script>
             window.alert('1보다 큰 값을 입력하세요');
             history.go(-1);
             </script>
            ");
        exit;
    }

    for($a = 2; $a < $num; $a++){
        if($num % $a == 0){
            $b++;
        }
    }
    if($b == 0){
        echo ("{$num}는(은) 소수입니다.");
    }
    else {
        echo ("{$num}는(은) 합성수입니다.");
    }
    
    echo("<hr>");
    show_source(__FILE__);
    ?>

</body>
</html>

 

실행화면은 다음과 같다.

숫자 입력 화면

 

소수 판별 화면