str_rot13

str_rot13関数:文字列のアルファベットの各文字を13文字分ずつシフトさせる(ROT13変換)

使い方

$rot13_text = str_rot13( $text );

ROT13変換と言われてもあまりなじみはないかと思いますが、
アルファベットの文字列を13文字分ずつシフトさせた文字列に変換することをROT13変換と言います。(と言うそうです。。。)
でも、「なぜ、13文字なんだろう?」と思った方、鋭い!
それは、ROT13変換された文字列をもう一度ROT13変換すると元の文字列に復元することができるんです。
いやぁ、アルファベットの文字の種類が奇数でよかったですねぇ。

使い方は簡単で、変換したい文字列を関数の引数に渡すだけです。これだけでROT13変換した文字列を返してくれます。
ちなみにアルファベットの大文字と小文字だけが変換されますので、それ以外の記号とか空白とかはそのままの文字で返されます。

サンプルプログラム(ROT13への暗号化と複合化)

<?php
$text = 'This is a test.';

$encoded = str_rot13( $text );
echo "ROT13暗号化 = $encoded\n";

$decoded = str_rot13( $encoded );
echo "ROT13複合化 = $decoded\n";

実行結果

ROT13暗号化 = Guvf vf n grfg.
ROT13複合化 = This is a test.

ちなみに大文字と小文字は別々にROT13変換されるので、復号化してもちゃんと元の文字に戻りますのでご安心ください(?)

使いどころ

ROT13変換は弱い暗号化です。そりゃ当然です。誰だって復号化できちゃいますから。
なので、使いどころを間違ってしまうとセキュリティ脆弱性になってしまうので気を付けなければなりません。

公式サイト

http://jp1.php.net/manual/ja/function.str-rot13.php