konyakov

Free PHP Function for Reversible Encryption

Jun 22nd, 2016
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.70 KB | None | 0 0
  1. <?php
  2.  
  3. function mt_rand_str ($l, $c = 'abcdefghijklmnopqrstuvwxyz1234567890') {
  4.     for ($s = '', $cl = strlen($c)-1, $i = 0; $i < $l; $s .= $c[mt_rand(0, $cl)], ++$i);
  5.     return $s;
  6. }
  7.  
  8. function encode($text, $key) {
  9.     $strlen = strlen($text);
  10.     $seq = $key;
  11.     $gamma = '';
  12.     while (strlen($gamma) < $strlen) {
  13.         $seq = pack("H*",sha1($gamma.$seq));
  14.         $gamma.=substr($seq,0,8);
  15.     }
  16.     return $text^$gamma;
  17. }
  18.  
  19. $string_var = 'Съешь ещё этих мягких французских булок, да выпей чаю!
  20. СЪЕШЬ ЕЩЁ ЭТИХ МЯГКИХ ФРАНЦУЗСКИХ БУЛОК, ДА ВЫПЕЙ ЧАЮ.
  21. The quick brown fox jumps over the lazy dog.
  22. THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.';
  23.  
  24. $password = mt_rand_str(13);
  25.  
  26. echo '<!DOCTYPE html><html><head><meta charset="utf-8"><title>КОНЬЯКОВ.ру: Free PHP Function for Reversible Encryption / Простая и надежная PHP функция для обратимого шифрования</title></head><body><p style="background:#D4FFD4;padding:1em;"><b>Source string:</b> '.$string_var.'</p><p style="background:#FFD4D4;padding:1em;"><b>Encode string:</b> (Password: <u>'.$password.'</u>)<br>'.encode($string_var, $password).'</p><p style="background:#7FFFAA;padding:1em;"><b>Decode string:</b> '.encode(encode($string_var, $password), $password).'</p>';
  27.  
  28. if ($string_var == encode(encode($string_var, $password), $password)) {
  29.     echo '<p style="background:#00CC00;padding:1em;color:#fff">Source and Decode strings are identical :)</p>';
  30. } else {
  31.     echo '<p style="background:#FF0000;padding:1em;color:#fff">Source and Decode strings are not identical :(</p>';
  32. }
  33.  
  34. echo '</body></html>';
  35.  
  36. ?>
Add Comment
Please, Sign In to add comment