ホームページ  >  記事  >  バックエンド開発  >  PHP カスタム暗号化ソリューションの実装コード_PHP チュートリアル

PHP カスタム暗号化ソリューションの実装コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:10:11854ブラウズ

PHP の Mcrypt 暗号化ライブラリでは追加の設定が必要です。多くの人は md5() 関数を使用して暗号化します。この方法は確かに安全ですが、md5 は不可逆的な暗号化であるため、パスワードを復元できないため、いくつかの不便な点があります。暗号化機能 秘密鍵をサポートしているので使いやすいです

コードは次のとおりです コードをコピー


// 説明: 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

tru​​e

http://www.bkjia.com/PHPjc/629676.html

技術記事

PHP の Mcrypt 暗号化ライブラリでは追加の設定が必要です。多くの人は md5() 関数を使用して暗号化します。この方法は確かに安全ですが、md5 は不可逆的な暗号化であるため、パスワードを復元することができません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。