Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP str_rot13() 함수 – 문자열 ROT13 변환 방법


PHP의 str_rot13() 함수는 문자열에 ROT13 변환을 적용하는 데 사용됩니다. ROT13은 각 영문 알파벳 문자를 알파벳 순서에서 13칸 뒤에 해당하는 문자로 치환하는 고전적인 암호화 기법으로, 시저 암호(Caesar Cipher)의 한 종류입니다.

ROT13의 가장 큰 특징은 암호화와 복호화가 동일한 연산이라는 점입니다. 즉, 같은 문자열에 str_rot13() 함수를 두 번 적용하면 원래 문자열로 되돌아옵니다. 이러한 특성 때문에 주로 웹 포럼에서 스포일러나 퀴즈 정답을 잠시 가려두는 등의 간단한 난독화 목적으로 활용됩니다.

구문

str_rot13(string $string): string

매개변수

  • str − ROT13 변환을 적용할 입력 문자열입니다.

반환값

str_rot13() 함수는 입력 문자열의 모든 영문 알파벳 문자를 ROT13 규칙에 따라 치환한 새로운 문자열을 반환합니다. 숫자, 특수문자, 공백 등 알파벳이 아닌 문자는 원본 그대로 유지됩니다.

예제

다음은 str_rot13() 함수를 사용하여 문자열을 변환하는 기본 예제입니다.

<?php
   echo str_rot13("Demo text");
?>

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Qrzb grkg

응용 예제: 복호화하기

ROT13은 자기 역연산(self-inverse)이 가능하므로, 인코딩된 문자열에 같은 함수를 한 번 더 적용하면 원래 문자열을 얻을 수 있습니다.

<?php
   $encoded = str_rot13("Hello World");
   echo $encoded;            // Uryyb Jbeyq
   echo "<br>";
   echo str_rot13($encoded); // Hello World (원래 문자열로 복원)
?>

이처럼 str_rot13() 함수는 별도의 복호화 함수 없이도 손쉽게 인코딩과 디코딩을 모두 처리할 수 있는 편리한 내장 함수입니다.