Home  >  Article  >  Backend Development  >  PHP custom encryption and decryption program_PHP tutorial

PHP custom encryption and decryption program_PHP tutorial

WBOY
WBOYOriginal
2016-07-20 11:07:43820browse

PHP custom encryption and decryption program

PHP3 Cryption is a very easy to crack and unsafe encryption function, and should not be used for very important things. While encryption is good, it does not hinder the rigorous testing of tip cracking procedures.

Still, give it a try... it's a great way to encrypt and decrypt strings. As with many crypt functions, this goes both ways. Based on a password, you can encrypt or decrypt. You can also decrypt or encrypt over an unlimited number of times, through looping or other methods. The characters in the alphabet also change. All these things allow you to modify and solidify encryption.

The best part about this? You can encrypt with decryption or with a piece of paper and a pencil. This takes quite a bit longer, but you don't need a computer to be nearby to use it, and if you ever lose the code you can decrypt it if you remember the technique.

I wrote these functions in about an hour, after several unsuccessful and frustrating attempts, and much longer when I had no way out. The best way to do it after a successful day is to suddenly achieve it.

Please note that this will not encrypt/decrypt invisible characters (spaces) such as newlines (n) or tabs (t)! Sorry, but I try. If you find a way, please let me know!
* /
highlight_file("crypto.php tutorial");

$ralphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 !,.:;?~@#$%^&*()_+ -=][}{/><"'";
$alphabet = $ralphabet . $ralphabet;


class Crypto {

function encrypt ($password ,$strtoencrypt) {

global $ralphabet;
global $alphabet;

for( $i=0; $i {
$cur_ps tutorial wd_ltr = substr($password,$i,1);
$pos_alpha_ary[] = substr(strstr($alphabet,$cur_pswd_ltr),0,strlen($ralphabet));
}

$i=0;
$n = 0;
$nn = strlen($password);
$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++;
}

return $encrypted_string;

}


function decrypt ($password,$strtodecrypt) {

global $ralphabet;
global $alphabet;

for( $i=0; $i{
$cur_pswd_ltr = substr($password,$i,1);
$pos_alpha_ary[] = substr( strstr($alphabet,$cur_pswd_ltr),0,strlen($ralphabet));
}

$i=0;
$n = 0;
$nn = strlen($ password);
$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++ ;
}

return $decrypted_string;


}


function encryption_table ($password) {

global $ralphabet ;
global $alphabet;

for( $i=0; $i{
$cur_pswd_ltr = substr($password,$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";

}

} // end class Crypto

// Example written by Macro Zeng
// Motto of the network technology manager: If three people are walking together, there must be one who can teach me. http://www.bkjia.com
$ct = new Crypto;
//$ct->cryption_table($password);
echo "

";
if ($mod == 2) {
$strtodecrypt = $ct->encrypt ($password,$strtoencrypt);
echo 'Encrypted String (encrypted field): ';
echo "
";
echo "Password lock: ";
echo "";
}
else {
$strtoencrypt = $ct->decrypt ($ password,$strtodecrypt);
echo 'String to Encrypt (field that needs to be encrypted): ';
echo "
";
echo "Password lock: ";
echo "";
echo "";
}
echo "
";


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/444928.htmlTechArticlephp custom encryption and decryption program PHP3 Cryption is a very easy to crack, unsafe encryption function and should not be It is a very important thing to use. While encryption is good, it doesn't hinder access to...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn