ホームページ  >  記事  >  バックエンド開発  >  PHP カスタム暗号化および復号化プログラムの例_PHP チュートリアル

PHP カスタム暗号化および復号化プログラムの例_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:59:35896ブラウズ

phpカスタム暗号化および復号化プログラムの例

この記事では、主にphpカスタム暗号化および復号化プログラムの分析と、それを必要とする友人の参考値を紹介します。

この記事の例では、PHP カスタム暗号化および復号化プログラムについて説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:

PHP3 暗号化は非常に簡単に解読される安全性の低い暗号化機能であり、非常に重要なものには使用すべきではありませんが、暗号化はチップ解読プログラムの厳密なテストを妨げるものではありません。

それでも、試してみてください...文字列を暗号化および復号化するための素晴らしい方法です。多くの暗号化関数と同様に、これは双方向に行われます。パスワードに基づいて暗号化または復号化できます。ループやその他の方法を使用して、無制限に復号化または暗号化することもできます。アルファベットの文字も変わります。これらすべてにより、暗号化を変更して強化することができます。

これの一番良いところは?暗号化は復号化することも、紙と鉛筆を使って行うこともできます。これにはかなり時間がかかりますが、使用するためにコンピューターが近くにある必要はありません。また、コードを紛失した場合でも、テクニックを覚えていれば復号化できます。

これらの機能は、何度か失敗してイライラした後、約 1 時間で書きましたが、解決策がなかった場合はさらに長くかかりました。成功した一日の後にそれを行うための最良の方法は、突然それに気づくことです。

改行 (n) やタブ (t) などの目に見えない文字 (スペース) は暗号化/復号化されないことに注意してください。申し訳ありませんが、試してみます。方法を見つけたら、お知らせください。

コードは次のとおりです:

$ralphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 !,.:;?~@#$%^&*()_+-=][}{/><"'";
$alphabet = $ralphabet 。 $ラルアルファベット;

クラス暗号化 {

関数暗号化 ($password,$strtoencrypt) {

グローバル $ralphabet;
グローバル $アルファベット;

for( $i=0; $i {
$cur_pswd_ltr = substr($パスワード,$i,1);
$pos_alpha_ary[] = substr(strstr($alphabet,$cur_pswd_ltr),0,strlen($ralphabet));
}

$i=0;
$n = 0;
$nn = strlen($パスワード);
$c = strlen($strtoencrypt);

while($i<$c)
{
$encrypted_string .= substr($pos_alpha_ary[$n],strpos($ralphabet,substr($strtoencrypt,$i,1)),1);

$n++;
if($n==$nn) $n = 0;
$i++;
}

$encrypted_string を返します。

}

関数復号化 ($password,$strtodecrypt) {

グローバル $ralphabet;
グローバル $アルファベット;

for( $i=0; $i {
$cur_pswd_ltr = substr($パスワード,$i,1);
$pos_alpha_ary[] = substr(strstr($alphabet,$cur_pswd_ltr),0,strlen($ralphabet));
}

$i=0;
$n = 0;
$nn = strlen($パスワード);
$c = strlen($strtodecrypt);

while($i<$c)
{
$decrypted_string .= substr($ralphabet,strpos($pos_alpha_ary[$n],substr($strtodecrypt,$i,1)),1);

$n++;
if($n==$nn) $n = 0;
$i++;
}

$decrypted_string を返します。

}

関数 cryption_table ($password) {

グローバル $ralphabet;
グローバル $アルファベット;

for( $i=0; $i {
$cur_pswd_ltr = substr($パスワード,$i,1);
$pos_alpha_ary[] = substr(strstr($alphabet,$cur_pswd_ltr),0,strlen($ralphabet));
}

print "n";

print "";
for( $j=0; $j {
print "n";
}
print "";


for( $i=0; $i {
print "";
for( $k=0; $k {
print "n";
}
print "";
}

print "
" 。 substr($ralphabet,$j,1) 。 "
" 。 ($i+1) 。 "|" 。 substr($pos_alpha_ary[$i],$k,1) 。 "
n";

}

} // クラス暗号を終了します

// Macro Zeng によって書かれた例
$ct = 新しい暗号;
//$ct->cryption_table($password);
echo "
";
if ($mod == 2) {
$strtodecrypt = $ct->encrypt ($password,$strtoencrypt);
echo '暗号化された文字列(加密後の文字列): ';
echo "";
echo "秘密暗号: <入力タイプ=テキスト名=パスワード サイズ=6 値=$パスワード>";
echo "";
}
他 {
$strtoencrypt = $ct->decrypt ($password,$strtodecrypt);
echo '暗号化する文字列(要加密な文字列): ';
echo "";
echo "秘密暗号: <入力タイプ=テキスト名=パスワード サイズ=6 値=$パスワード>";
echo "";
echo "<入力タイプ=隠し名=mod値=2>";
}
echo "
";

代码如下:


ハイライト_ファイル("crypto.php");

ここで説明されている大家向けの php プログラムの設計が役立つことを望みます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/975886.html技術記事 PHP カスタム暗号化および復号化プログラムの例 この記事では、主に、カスタム暗号化および復号化ファイルと関連する使用法を分析するサンプルを紹介します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。