У меня есть этот запрос Json с проверкой подлинности Basic, который продолжает возвращать эту ошибку: было выдано другое исключение: E / flutter (19791): [ОШИБКА: flutter / shell / common / shell.cc (181)] Ошибка дротика: необработанное исключение: E / flutter (19791): FormatException: Неожиданный символ (в символе 1) E / flutter (19791): Не удается демонтировать JSON как DecryptRequest ". Кто-нибудь испытывает ту же проблему и как ее можно решить ???
import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import 'package:http/http.dart' as http;
import 'package:pointycastle/api.dart';
import 'package:pointycastle/padded_block_cipher/padded_block_cipher_impl.dart';
import 'package:pointycastle/paddings/pkcs7.dart';
import 'package:pointycastle/block/aes_fast.dart';
import 'package:pointycastle/block/modes/cbc.dart'
Future<http.Response> post() async {
var url = 'http:';
String password = "";
String username = "";
var bytes = utf8.encode("$username:$password");
Uint8List key = Uint8List.fromList(
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
);
Uint8List iv = Uint8List.fromList(
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
);
String Json =
jsonEncode({'account': _account, 'phone': _mobile, 'amount': _amount});
Uint8List plainText = Uint8List.fromList(utf8.encode(Json));
PaddedBlockCipher cipher = PaddedBlockCipherImpl(
PKCS7Padding(),
CBCBlockCipher(AESFastEngine()),
);
cipher.init(
true,
PaddedBlockCipherParameters<CipherParameters, CipherParameters>(
ParametersWithIV<KeyParameter>(KeyParameter(key), iv),
null,
),
);
Uint8List cypherText = cipher.process(plainText);
var credentials = base64.encode(bytes);
var headers = {
"Content-Type": "application/json",
"Authorization": "Basic $credentials"
};
http.Response response =
await http.post(url, body: cypherText.toString(), headers: headers);
var responseJson = json.decode(response.body);
print(Utf8Codec().decode(response.bodyBytes));
print("Body: " + responseJson);
}