0

我正在尝试解密 dart 中的加密文本。我收到错误消息 Unhandled Exception: Invalid argument(s): Input data length must be a multiple of cipher's block size。我不太确定错误是什么意思。谷歌并没有真正的帮助。这是我的代码。


void main() {

  final key = Key.fromUtf8('put32charactershereeeeeeeeeeeee!'); //32 chars
  final iv = IV.fromUtf8('put16characters!'); //16 chars

  //encrypt
  String encryptMyData(String text) {
    final e = Encrypter(AES(key, mode: AESMode.cbc));
    final encrypted_data = e.encrypt(text, iv: iv);
    return encrypted_data.base64;
  }

//dycrypt
  String decryptMyData(String text) {
    final e = Encrypter(AES(key, mode: AESMode.cbc));
    final decrypted_data = e.decrypt(Encrypted.fromBase64(text), iv: iv);
    return decrypted_data;
  }

  decryptMyData("gAAAAABiDgiJAH4FI9E1aNLl1hv19VR61rLVEdjIrEElU-tcCDOvADPFbO1JhemTFyMG2S-YSsFgUxOJ-QjnNGBfyfJzytsEQUCDkBNdQUTSryj74tp7dV1gh_BzJOxTGPgVA3AGaVcKeL1_CLiIRzJc0l0L_Xa_3FHEG2MP7jdSUgqCvmpggp8wf5_7nANHIxlXN6ikcfGUbGDjDch4PovRnqLp5nEHGUl3l9zNG3JmK09yKEjjEkbGIf4VTIWuIvbdUae87jfIOhVTiil9T9BT1YYd2Ob6iKioVaTAVaVCmM8Oi9qNdrHqwdpXuUfpGBHWMXgsNtSMUAwJ7W19fHDgCzqVA0ENLp2rZqtIN7leL4JSHbGEEA2C4HYNt5wab6hPjiLxlvFaoPBfgIXiMjt7XqFrBy3koZuGj1iPOe8KRe0IxEArWMnGX_I_QIqcai0BU0GDQygQ5IsSud-GH3FuyGwGlWI3O4p5SkJEkaQ4B2Z0tbE0491qzNtt5SKaNc24KWHb-bkIR3ekjE6G6t8b3t_GYlKTvfYDebcO1PfoLjvh8Uy28xw3YRKAzwJCUhhom7jbyJnXvie9gQRSFNLx-59GuRVx5u0CJCQxH583yKuX2R1wj9Qb-xg8tD_IZCrdP-mf07qhnU-2X-G-YQfXiW1y2_BZnIolG6_gec5f9HbaPbZkUZ15sv2Tp0WjTqCgG2SShVmAH7cYzLVWYks8yXZMLrMoTz94y94k5uaCApfimBZllAEIJaYxbdDF-Nnml3N5vujMgpEoqRKkISjAN_UBRjfE85EJuVT2NlhEG2rgVCF8ogu5-6E7EBJwEqnvtPJeSiIWhPUTrmAAvLfDox5IEWuzZ12LFI3wuhXvqaJ1Dog5tlEBJvAjyrLme8YBVfDubwCcPbCgMxjB95foIDRAuBOiWTYWay2JdccjFWPwkoSjbU1YtrDQtNqij0CPpYUgXRU4LP6ltADkQh-2Hrfds4-a470HENXXiwLUSRzVStKCJSi-mft_5zIB8VqrQ0okD2nT_8dyiP4UyYNjlkvPO2GafvGp6xATFMhEguzUuYeh1DM-joUFWOUSSHwPwQMR1eL8QkELRQeknCgTjOdED8uPeghshpPWGJPq4QCY2Lkx4elKNm3oW0QJEP1flCN17VJkVqzJ2jqbLWCbdQRI1LBlEgLEfIc9VfQXzzeS6A7dgebuDwgahnhmemjLGylZffh_xu_IKM3wxu9E6A4g5mT-z1jvzyQ6E2enB1x7xuaa00ECMFz0Vor2XOmZOhTdg8Je96eAKnmh1ypBQAYQeDQipSw8SyWsMi3TB2_OEZBjpItRuje8MHmJv3QpUYpGKFEWw4pIt1mgUfI8VinF3t-D3iCfGj5u2VPrV1Phrk-WOcMoNeSNWnhhRnLu_Jq57qt1anFMBz2TINxtAOfuMvpANyx7lHJZKaEZHQGIdD9Inn6nRZsHxmOH1EUs_ALagtVoAmYMgPbnda8UW6UOF6taElCsAAwttdM5riDYRaDZrbjzueseC4YAySTf4-H8MDGsw5BaGLFTEdTUGoLjmYkbhasOn4FTKkzaf4cuj6j2u7WQr83_B8CaBY3E7uq_Qmq0Idtiur0aSfKceHODujhYOwRhI4QH5IL36WKAAAFLQF-Nszsqg1f5RWY9VYZRN_LF8gZDPL5Bq5lojCOgzBI9vS7ZvZbqHH1v6xUkpn0RxJvmWM0p4u00RtCedRT4nJ7s-bhF-B15vBrITVuE5gP8ghhhZGSFgC_TclOEw9TRuZ8XAmU5VLwuvWqj6u8JVUUs54vlylvLV9CAvMiAiHKxBCd8PsrjfNxMrDXutQlfBWRTwvaLsnY6j90iXYCryrUOp5WkblSfXtXcJcY1oxZNGzJCBWA831md_a0Aucqrny29XtyqJcpd6LLg8oo4uX6sGFz2IVrF0qthtxnTXwJhQfgy6CsQ5O_QJYejTv_09xA3BQr60LC0zPatcCynbyevw-7D5yXkWhS7ygQXSABQqtNjXIVzagfML7C1oJm1UsSaMV6-4kqHtkKTzfTQPB75eEgezxLLPG2JuBSVOJNBDJSO0wmE-w6M0kWo2mCrhDjFsRo-mC_C4alHnBWaBMN2EOnP-E6HIPt8kUZF_2q3mmC_lDkzIj1jYx9pJIL-KrhBH5Og9oGKrT7lCqtYIReOXJdNoo7tnzmtsxef9On8WvTibUvhbwJgXckmtDuSyS4=");

}
4

0 回答 0