Я пытаюсь реализовать шифрование phone_number и пароля во флаттере. после попытки зашифровать jsonbody "( var rBody = jsonEncode({ 'Request': encryptor.encrypt(requestBody.toString())});", а затем запустить приложение, я все еще не могу передать запрос на мой удаленный сервер ( который требует, чтобы все запросы были зашифрованы с помощью AES). Может ли кто-нибудь с опытом в этом показать мне лучший способ сделать это, чтобы пароль и телефон были зашифрованы эффективно.
import 'dart:async';
import 'dart:convert';
import 'package:encrypt/encrypt.dart';
import 'package:http/http.dart' as http;
Future<http.Response> post() async {
var url = 'http:xxxxxxxpostRequest';
String password = "xxxxxxx";//url password
String username = "xxxxx";//access username
var bytes = utf8.encode("$username:$password");
var credentials = base64.encode(bytes);
var headers = {
"Content-Type": "application/json",
"Authorization": "Basic $credentials"
};
var requestBody = jsonEncode({ 'phone': _phone, 'pin': _pass});
final key = "";// encryption key
final iv= "";
final encryptor=new Encrypter(new Salsa20(key, iv));
var rBody = jsonEncode({ 'Request': encryptor.encrypt(requestBody.toString())});
http.Response response = await http.post(
url, body: rBody, headers: headers);
var responseJson = json.decode(response.body);
print(Utf8Codec().decode(response.bodyBytes));
print("Body: " + responseJson);
}
//Это мой консольный ответ
E/flutter (24909): [ОШИБКА:topaz/lib/tonic/logging/dart_error.cc(16)] Необработанное исключение: E/flutter (24909): тип «ParametersWithIV» не является подтипом типа «ParametersWithIV» E/