Зашифруйте параметр запроса во Flutter и расшифруйте в PHP, чтобы получить данныеPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Зашифруйте параметр запроса во Flutter и расшифруйте в PHP, чтобы получить данные

Сообщение Anonymous »

Кафедра и ключ здесь.

Код: Выделить всё

// Verschlüsselt den Job-Parameter
String encryptJob(String job) {
final encrypter = encrypt.Encrypter(encrypt.AES(key, mode: encrypt.AESMode.cbc));
final encrypted = encrypter.encrypt(job, iv: iv);
return encrypted.base64; // Base64-String des verschlüsselten Textes
}

String encryptMessage (String message){
final encrypter = encrypt.Encrypter(encrypt.AES(key, mode: encrypt.AESMode.cbc));
final encrypted = encrypter.encrypt(message, iv:iv);
return encrypted.base64;
}

Future fetchData() async {
final message = '&function=';

// Verschlüsselung des Job-Parameters
final encryptedJob1 = encryptJob('job=$job1');
final encryptedJob2 = encryptJob('job=$job2');
final encryptedJob3 = encryptJob('job=$job3');
final encryptedJob4 = encryptJob('job=$job4');

//IV und verschlüsselte Daten für die URL korrekt kodieren
final encodedIV = Uri.encodeComponent(iv.base64);
final encodedJob1 = Uri.encodeComponent(encryptedJob1);
final encodedJob2 = Uri.encodeComponent(encryptedJob2);
final encodedJob3 = Uri.encodeComponent(encryptedJob3);
final encodedJob4 = Uri.encodeComponent(encryptedJob4);
final encryptedMessage = encryptMessage('$message$encodedJob4');

// Jetzt den IV korrekt in Base64 umwandeln und in die URL einfügen
final webServiceURl = 'http://localhost/get_encrypt_request.php?iv=$encodedIV$message$encodedJob4';
final url = Uri.parse(webServiceURl);
final response = await http.get(url);

print('$url\n');
print(response.body);

setState(() {
data = response.body;
});

if (response.statusCode == 200) {
print('Erfolgreiche Antwort');
} else {
print('Fehler beim Abrufen der Daten: ${response.statusCode}');
}
}
Моя задача — зашифровать параметры запроса, чтобы после ? не было видно открытого текста.
Я могу зашифровать свою работу, но не свой параметр запроса, в этом случае сообщение как таковое.И после этого параметр запроса необходимо расшифровать в php и отправить мне данные из задания.

Код: Выделить всё

// Empfange den IV und die verschlüsselten Daten
$iv = isset($_GET['iv']) ? $_GET['iv'] : '';
$data = isset($_GET['function']) ? $_GET['function'] : '';

Код: Выделить всё

  final encryptedMessage = encryptMessage('$message$encodedJob4');

В этой строке вы можете видеть, что я пытался поместить сообщение в задание, но для задания используется «двойное шифрование», а это действительно не тот смысл.
р>

Код: Выделить всё

    final webServiceURl = 'http://localhost/get_encrypt_request.php?iv=$encodedIV$encryptedMessage';

Когда я меняю параметры запроса на это, это наверняка не работает.

Подробнее здесь: https://stackoverflow.com/questions/790 ... o-get-data
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»