Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
00Danik
15 / 11 / 6
Регистрация: 30.01.2016
Сообщений: 84
1

Шифрование на PHP

06.12.2018, 14:58. Просмотров 302. Ответов 0

Всем привет, интересует такой вопрос: знаю что есть такая уже давно известная технология, на сервере есть скрипт обработчик, у меня есть скрипт генератор и они оба работают под одним олгоритмом, в плане: мой скрипт генерирует код например длиной в 30симв и каждый раз новый, а другой скрипт приёмщик видит что код зашифровантем же алгоритмом и принимает его. Тоисть генерируется каждый раз новый код, а другой всеравно знает что этот код есть валидный. Принцип как у програм по активации, есть генератор кодов, он делает все время новый код, и программа его хавает, хоть код всегда новый.
Подскажите куда копать чтоб больше разузнать, и вобще как эта технология называется? Может у кого-то есть уже примеры на php.

Добавлено через 3 часа 2 минуты
Кому интересно, разобрался и написал такое:

Кодируем:
PHP
1
2
3
4
5
6
7
8
9
$key = openssl_random_pseudo_bytes(30, $cstrong);
$plaintext = "Тест"; //наш текст
$ivlen = openssl_cipher_iv_length($cipher="AES-128-CBC");
$iv = openssl_random_pseudo_bytes($ivlen);
$ciphertext_raw = openssl_encrypt($plaintext, $cipher, $key, $options=OPENSSL_RAW_DATA, $iv);
$hmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary=true);
$ciphertext = base64_encode( $iv.$hmac.$ciphertext_raw );
$key = base64_encode(base64_encode($key));
$text = base64_encode($ciphertext);
Декодируем:
PHP
1
2
3
4
5
6
7
8
9
10
11
$key = base64_decode(base64_decode($_POST['key']));
$ciphertext = base64_decode($_POST['text']);
$c = base64_decode($ciphertext);
$ivlen = openssl_cipher_iv_length($cipher="AES-128-CBC");
$iv = substr($c, 0, $ivlen);
$hmac = substr($c, $ivlen, $sha2len=32);
$ciphertext_raw = substr($c, $ivlen+$sha2len);
$original_plaintext = openssl_decrypt($ciphertext_raw, $cipher, $key, $options=OPENSSL_RAW_DATA, $iv);
$calcmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary=true);
if (hash_equals($hmac, $calcmac)) echo 'original_plaintext: <b>'.$original_plaintext.'</b><br>';
else echo '<b>Провал</b><br>';
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2018, 14:58
Ответы с готовыми решениями:

Работа с сессиями php и шифрование паролей
в чем суть. есть два УРЛА test1.ru/blog/ test1.ru/blog/index.php они вроде не отличаются, но ...

Шифрование текста на PHP
Нужно реализовать шифрование текста на PHP с использованием алгоритма RSA. Код: &lt;?php function...

Шифрование в форме php
&lt;form name=&quot;form&quot; form action=&quot;post&quot;&gt; &lt;div&gt;Код&lt;/div&gt; &lt;input name=&quot;Kod&quot; type=&quot;text&quot;&gt; ...

Обратимое шифрование в php
Простой пример : &lt;?php // Шифрование данных $кеу = &quot;это КЛЮЧ&quot;; $text = &quot;Сообщение, которое...

Шифрование данных PHP
Доброго времени суток! Сразу скажу, что мои знания в php равняются нулю В этой строке нужно...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2018, 14:58

Шифрование PHP кода
Доброго времени суток, у меня вот такой вопрос. Чем шифруют этот код? &lt;?php...

Шифрование пароля на php mysql
Как сделать что бы код в бд записывался зашифрованным, а при авторизации она был декодирован Ниже...

Шифрование php кода? Серьезно?
Доброго времени суток. Тут, на форуме, увидел как некоторые личности расшифровывают и зашифровывают...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru