Home > Article > Backend Development > PHP custom encryption and decryption program_PHP tutorial
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";
n";print "
"; ";
for( $j=0 ; $j{
print "" . substr ($ralphabet,$j,1) . " n";
}
print "
for( $i=0 ; $i{
print ""; " . ($i+1) . "| ";
for( $k=0; $k{
print "" . substr($pos_alpha_ary[$i],$ k,1) . " n";
}
print "
}print "
}
} // 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 "