Кемеровские программисты php общаются здесь
Anonymous
Flutter Error Недопустимый аргумент(ы): длина входных данных должна быть кратна размеру блока шифра при расшифровке из ш
Сообщение
Anonymous » 06 ноя 2024, 16:52
У меня возникла ошибка при попытке расшифровки на языке дартс. с сообщением:
Недопустимый аргумент(ы): длина входных данных должна быть кратна
размеру блока шифра
Вот пример PHP-кода
Код: Выделить всё
function encryptDomainWithToken($domain, $token)
{
// Encryption method using OpenSSL with AES-256-CBC
$method = 'AES-256-CBC';
$ivLength = openssl_cipher_iv_length($method); // IV length
$iv = openssl_random_pseudo_bytes($ivLength); // Initialization Vector
$key = hash('sha256', $token, true); // Derive encryption key from token
// Data to encrypt
$data = $domain;
// Encrypt data
$encryptedData = openssl_encrypt($data, $method, $key, 0, $iv);
// Combine IV with encrypted data and encode in base64
return base64_encode($iv . $encryptedData);
}
Вот код дартс
Код: Выделить всё
import 'dart:convert';
import 'package:crypto/crypto.dart';
import 'package:encrypt/encrypt.dart';
String decryptDomainWithToken(String encrypted, String token) {
final method = AESMode.cbc;
// Derive key from token using SHA-256
final key = sha256.convert(utf8.encode(token)).bytes;
final encrypter = Encrypter(AES(Key(Uint8List.fromList(key)), mode: method));
// Decode the base64 encrypted string
final decodedData = base64.decode(encrypted);
// Determine IV length for AES-256-CBC
final ivLength = 16;
final iv = IV(Uint8List.fromList(decodedData.sublist(0, ivLength)));
final encryptedData = Encrypted(Uint8List.fromList(decodedData.sublist(ivLength)));
// Decrypt the data
return encrypter.decrypt(encryptedData, iv: iv);
}
Как это исправить?
Подробнее здесь:
https://stackoverflow.com/questions/791 ... e-of-ciphe
1730901176
Anonymous
У меня возникла ошибка при попытке расшифровки на языке дартс. с сообщением: Недопустимый аргумент(ы): длина входных данных должна быть кратна размеру блока шифра Вот пример PHP-кода [code]function encryptDomainWithToken($domain, $token) { // Encryption method using OpenSSL with AES-256-CBC $method = 'AES-256-CBC'; $ivLength = openssl_cipher_iv_length($method); // IV length $iv = openssl_random_pseudo_bytes($ivLength); // Initialization Vector $key = hash('sha256', $token, true); // Derive encryption key from token // Data to encrypt $data = $domain; // Encrypt data $encryptedData = openssl_encrypt($data, $method, $key, 0, $iv); // Combine IV with encrypted data and encode in base64 return base64_encode($iv . $encryptedData); } [/code] Вот код дартс [code]import 'dart:convert'; import 'package:crypto/crypto.dart'; import 'package:encrypt/encrypt.dart'; String decryptDomainWithToken(String encrypted, String token) { final method = AESMode.cbc; // Derive key from token using SHA-256 final key = sha256.convert(utf8.encode(token)).bytes; final encrypter = Encrypter(AES(Key(Uint8List.fromList(key)), mode: method)); // Decode the base64 encrypted string final decodedData = base64.decode(encrypted); // Determine IV length for AES-256-CBC final ivLength = 16; final iv = IV(Uint8List.fromList(decodedData.sublist(0, ivLength))); final encryptedData = Encrypted(Uint8List.fromList(decodedData.sublist(ivLength))); // Decrypt the data return encrypter.decrypt(encryptedData, iv: iv); } [/code] Как это исправить? Подробнее здесь: [url]https://stackoverflow.com/questions/79162865/flutter-error-invalid-arguments-input-data-length-must-be-a-multiple-of-ciphe[/url]
0 Ответы
22 Просмотры
Последнее сообщение Anonymous
10 ноя 2024, 14:18
0 Ответы
1 Просмотры
Последнее сообщение Anonymous
21 авг 2025, 14:53
0 Ответы
24 Просмотры
Последнее сообщение Anonymous
19 фев 2025, 18:47
0 Ответы
35 Просмотры
Последнее сообщение Anonymous
09 дек 2024, 07:45
0 Ответы
25 Просмотры
Последнее сообщение Anonymous
09 дек 2024, 09:03