戻る

文字列を暗号化する(参考)

PHP

crypt()関数は文字列を暗号化します。第1引数に「暗号化したい文字列」、第2引数に「適当な暗号の種となる文字列」を指定します。

暗号化に際しては、もとの文字列から先頭の8文字だけが使われます。この場合、「mypasswo」の8文字分だけが使われるので、$data1と$data2の暗号化の結果は同じです。つまり、もとの文字列が8文字より多くても意味がありません。

暗号の種として指定された文字列のうち、先頭2文字が暗号化された文字の先頭につきます。つまり、暗号の種に長い文字列を指定しても意味がありません。

crypt()関数は通常の文字列を暗号化する、単方向の処理のみ行います。その逆の、複合化するための関数はありません。たとえば、ユーザのパスワードを暗号化してデータベースの保存してある状態で、「ユーザが入力したパスワード」と「暗号化して保存したパスワード」が一致しているかを比較したい場合は、ユーザが入力したパスワードを暗号化して、それぞれデータベース上の暗号と比較します。

<?php
header("Content-type: text/html; charset=utf-8");

$data1 = "mypassword";

$data2 = "mypassword2";

echo crypt($data1, "tsware") . "<br><br>";

echo crypt($data2, "tsware") . "<br><br>";

if(crypt($data1,"tsware") == "ts016NvLI6JYc"){
	echo "パスワードは正しい";
}

?>

inserted by FC2 system