Advertisement
Guest User

Untitled

a guest
Jan 25th, 2017
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.45 KB | None | 0 0
  1. <?
  2.     $email = $_REQUEST['email'];
  3.     $phone = $_REQUEST['phone'];
  4.  
  5.     $DBHost = "localhost";
  6.     $DBLogin = "u2392_test";
  7.     $DBPassword = "u2392_test";
  8.     $DBName = "u2392_test";
  9.     $connection = new mysqli($DBHost, $DBLogin, $DBPassword, $DBName);
  10.  
  11.     $result = '';
  12.  
  13.     if (isset($_REQUEST['add'])) {
  14.         if ($email != '' && $phone != '') {
  15.             $db_email = crypt($email, 'some_salt_lyvkuyoi;nr4b9liiubs87bilu nruibuubdr87b o879j09');
  16.             $db_phone = encode($phone, $email);
  17.  
  18.             $result = 'Зашифрованная почта: '.$db_email.'<br>Зашифрованный телефон: '.$db_phone;
  19.  
  20.             $db_result = $connection->query('INSERT INTO `email2phone` (email, phone) VALUES (\''.(mysqli_real_escape_string($connection, $db_email)).'\', \''.(mysqli_real_escape_string($connection, $db_phone)).'\')');
  21.         } else {
  22.             $result = 'Не заполнены обязательные поля.';
  23.         }
  24.     }
  25.     if (isset($_REQUEST['get'])) {
  26.         if ($email != '') {
  27.             $db_email = encode($email, 'some_salt_lyvkuyoi;nr4b9liiubs87bilu nruibuubdr87b o879j09');
  28.            
  29.             $db_result = $connection->query('SELECT * FROM `email2phone`');
  30.             $data = $db_result->fetch_assoc();
  31.  
  32.             if ($data) {
  33.                 $db_phone = $data['phone'];
  34.                 $phone = decode($db_phone, $email);
  35.  
  36.                 $result = 'Зашифрованная почта: '.$db_email.'<br>Расшифрованный телефон: '.$phone;
  37.                 mail($email, 'Расшифрованное значение из базы', $phone);
  38.             } else {
  39.                 $result = 'В базе не найдена нужная запись.';
  40.             }
  41.         } else {
  42.             $result = 'Не заполнены обязательные поля.';
  43.         }
  44.     }
  45.  
  46.     // https://habrahabr.ru/sandbox/92985/
  47.     function encode($unencoded,$key){//Шифруем
  48.         $string=base64_encode($unencoded);//Переводим в base64
  49.  
  50.         $arr=array();//Это массив
  51.         $x=0;
  52.         while ($x++< strlen($string)) {//Цикл
  53.             $arr[$x-1] = md5(md5($key.$string[$x-1]).$key);//Почти чистый md5
  54.             $newstr = $newstr.$arr[$x-1][3].$arr[$x-1][6].$arr[$x-1][1].$arr[$x-1][2];//Склеиваем символы
  55.         }
  56.         return $newstr;//Вертаем строку
  57.     }
  58.  
  59.     function decode($encoded, $key){//расшифровываем
  60.         $strofsym="qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNM=";//Символы, с которых состоит base64-ключ
  61.         $x=0;
  62.         while ($x++<= strlen($strofsym)) {//Цикл
  63.             $tmp = md5(md5($key.$strofsym[$x-1]).$key);//Хеш, который соответствует символу, на который его заменят.
  64.             $encoded = str_replace($tmp[3].$tmp[6].$tmp[1].$tmp[2], $strofsym[$x-1], $encoded);//Заменяем №3,6,1,2 из хеша на символ
  65.         }
  66.         return base64_decode($encoded);//Вертаем расшифрованную строку
  67.     }
  68. ?>
  69. <!DOCTYPE html>
  70. <html>
  71. <head>
  72.     <title>Test</title>
  73.     <meta name="viewport" content="width=device-width, initial-scale=1">
  74.     <!-- Latest compiled and minified CSS -->
  75.     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  76.     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  77.     <!-- Latest compiled and minified JavaScript -->
  78.     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
  79. </head>
  80. <body>
  81.     <div class="container">
  82.         <div class="row">
  83.             <div class="col-xs-12">
  84.                 <? echo $result; ?>
  85.             </div>
  86.             <div class="col-xs-12 col-md-6">
  87.                 <form action="./index.php" method="POST">
  88.                     <p>
  89.                         Form 1
  90.                     </p>
  91.                     <input type="text" name="email" placeholder="E-Mail" value="<?=$email?>" class="form-control"><br>
  92.                     <input type="text" name="phone" placeholder="phone" value="<?=$phone?>" class="form-control"><br>
  93.                     <input type="submit" class="btn btn-default" name="add" value="Сохранить">
  94.                 </form>
  95.             </div>
  96.             <div class="col-xs-12 col-md-6">
  97.                 <form action="./index.php" method="POST">
  98.                     <p>
  99.                         Form 2
  100.                     </p>
  101.                     <input type="text" name="email" placeholder="E-Mail" value="<?=$email?>" class="form-control"><br>
  102.                     <input type="submit" class="btn btn-default" name="get" value="Отправить и вывести">
  103.                 </form>
  104.             </div>
  105.         </div>
  106.     </div>
  107. </body>
  108. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement