есть ли альтернативные пакеты для dart для создания точного результата, например openssl_encrypt?
в настоящее время я использую
$output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv);
есть этот пакет https://pub.dev/packages/encrypt, который использует аналогичный параметр, но при сравнении результата кодирования и попытке декодировать его с помощью openssl_decrypt он всегда возвращает false
есть ли другой пакет рекомендаций?
my PHP код
$output = false;
$string = "admin";
$method = "AES-256-CBC";
$key = 'mykey';
$iv = 'myiv';
$key = hash('sha256', $secret_key);
$iv = substr(hash('sha256', $secret_iv), 0, 16);
if ( $action == 'encrypt' ) {
$output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv);
$output = base64_encode($output);
} else if( $action == 'decrypt' ) {
$output = openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv);
}
и вот мой код дротика
final plainText = 'admin';
final key = Key.fromUtf8('mykey');
final iv = IV.fromLength(16);
final encrypter = Encrypter(AES(key));
final encrypted = encrypter.encrypt(plainText, iv: iv);
final decrypted = encrypter.decrypt(encrypted, iv: iv);