Vigen´ere

From Rock3r, 7 Years ago, written in Plain Text, viewed 747 times.
URL https://paste.godclan.hu/view/AJPOLxrz Embed
Download Paste or View Raw
  1. function calc($a, $b)
  2.         {
  3.                 return ($a % $b + $b) % $b;
  4.         }
  5.  
  6.         function cr($text, $key, $go)
  7.         {
  8.                 $keyleght = strlen($key);
  9.  
  10.                 for ($i = 0; $i < $keyleght; ++$i){
  11.                         if (!ctype_alpha($key[$i])){
  12.                                 return "";
  13.                         }
  14.                 }
  15.                 $out = "";
  16.                 $fos = 0;
  17.                 $textleght = strlen($text);
  18.  
  19.                 for ($i = 0; $i < $textleght; ++$i){
  20.                         if (ctype_alpha($text[$i])){
  21.                                 $up = ctype_upper($text[$i]);
  22.                                 $offset = ord($up ? 'A' : 'a');
  23.                                 $keyind = ($i - $fos) % $keyleght;
  24.                                 $k = ord($up ? strtoupper($key[$keyind]) : strtolower($key[$keyind])) - $offset;
  25.                                 $k = $go ? $k : -$k;
  26.                                 $ch = chr((calc(((ord($text[$i]) + $k) - $offset), 26)) + $offset);
  27.                                 $out .= $ch;
  28.                         }else{
  29.                                 $out .= $text[$i];
  30.                                 ++$fos;
  31.                         }
  32.                 }
  33.                 return $out;
  34.         }
  35.  
  36.         function enc($text, $key) //encrypt
  37.         {
  38.                 return cr($text, $key, true);
  39.         }
  40.  
  41.         function dec($text, $key) //decrypt
  42.         {
  43.                 return cr($input, $key, false);
  44.         }

Reply to "Vigen´ere"

Here you can reply to the paste above