// 説明: PHP で書かれた暗号化関数、秘密鍵をサポートします
関数キーED($txt,$encrypt_key)
{
$encrypt_key = md5($encrypt_key);
$ctr=0;
$tmp = "";
for ($i=0;$i
{
If ($ctr==strlen($encrypt_key)) $ctr=0
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr++;
}
$tmp を返す
}
関数暗号化($txt,$key)
{
srand((double)microtime()*1000000);
$encrypt_key = md5(rand(0,32000));
$ctr=0;
$tmp = "";
for ($i=0;$i
{
If ($ctr==strlen($encrypt_key)) $ctr=0
$tmp.= substr($encrypt_key,$ctr,1) . (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
$ctr++;
}
keyED($tmp,$key) を返します
}
関数復号化($txt,$key)
{
$txt = keyED($txt,$key);
$tmp = "";
for ($i=0;$i
{
$md5 = substr($txt,$i,1);
$tmp.= (substr($txt,$i,1) ^ $md5);
}
$tmp を返す
}
$key = "YITU.org";
$string = "私は暗号化されたキャラクターです";
// $string を暗号化し、$enc_text に保存します
$enc_text = 暗号化($string,$key);
// 暗号化テキスト $enc_text を復号し、$dec_text に保存します
$dec_text = 復号化($enc_text,$key);
print "暗号化されたテキスト: $enc_text ";
print "復号化されたテキスト: $dec_text ";
?>
http://www.bkjia.com/PHPjc/629676.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/629676.html
技術記事
PHP の Mcrypt 暗号化ライブラリでは追加の設定が必要です。多くの人は md5() 関数を使用して暗号化します。この方法は確かに安全ですが、md5 は不可逆的な暗号化であるため、パスワードを復元することができません。
|