dart 2中的AES加密

sofiane khoudour

我一直在尝试使用加密来加密字符串以将其发送到Web服务器,但是我一直遇到错误。这是我的功能:

void encRypt(String da){
 final key = "my32lengthsupersecretnooneknows1";
 final encrypter = new Encrypter(new AES(key));
 final encrypted = encrypter.encrypt(da);
 print(encrypted);
 }

这就是我使用函数的方式:encRypt(chatBody.text); chatBody是一个TextEditingController

主要错误

这是我的调试控制台:

Launching lib/main.dart on GT I9500 in debug mode...
    Built build/app/outputs/apk/debug/app-debug.apk.
    I/Timeline(19551): Timeline: Activity_idle id: android.os.BinderProxy@34db68a4 time:15254411
    E/        (19551): [android_ws] Format: 5, Width: 1080, Height: 1920
    E/        (19551): [android_ws] Format: 5, Width: 1080, Height: 1920
    D/ViewRootImpl(19551): ViewPostImeInputStage ACTION_DOWN
    D/ViewRootImpl(19551): ViewPostImeInputStage ACTION_DOWN
    D/ViewRootImpl(19551): ViewPostImeInputStage ACTION_DOWN
    E/flutter (19551): [ERROR:flutter/shell/common/shell.cc(181)] Dart Error: Unhandled exception:
    E/flutter (19551): Invalid argument(s): Input buffer too short
    E/flutter (19551): #0      AESFastEngine.processBlock (package:pointycastle/block/aes_fast.dart:113:7)
    E/flutter (19551): #1      AES._processBlocks (package:encrypt/src/aes.dart:42:25)
    E/flutter (19551): #2      AES.encrypt (package:encrypt/src/aes.dart:22:20)
    E/flutter (19551): #3      Encrypter.encrypt (package:encrypt/encrypt.dart:17:17)
    E/flutter (19551): #4      StartPageState.encRypt (file:///home/sofiane/flutter/prog/testone/lib/pages/startpage.dart:28:29)
    E/flutter (19551): #5      StartPageState.getData (file:///home/sofiane/flutter/prog/testone/lib/pages/startpage.dart:39:6)
    E/flutter (19551): <asynchronous suspension>
    E/flutter (19551): #6      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14)
    E/flutter (19551): #7      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:562:30)
    E/flutter (19551): #8      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
    E/flutter (19551): #9      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
    E/flutter (19551): #10     TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:175:7)
    E/flutter (19551): #11     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)
    E/flutter (19551): #12     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
    E/flutter (19551): #13     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
    E/flutter (19551): #14     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:143:19)
    E/flutter (19551): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)
    E/flutter (19551): #16     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)
    E/flutter (19551): #17     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64:7)
    E/flutter (19551): #18     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48:7)
    E/flutter (19551): #19     _invoke1 (dart:ui/hooks.dart:153:13)
    E/flutter (19551): #20     _dispatchPointerDataPacket (dart:ui/hooks.dart:107:5)
    V/ActivityThread(19551): updateVisibility : ActivityRecord{1fd79a2f token=android.os.BinderProxy@34db68a4 {com.example.testone/com.example.testone.MainActivity}} show : true
    Application finished.
    Exited (sigint)

我尝试了所有步骤,因为该示例在加密github包的github页上显示,因此无法正常工作。

劳夫·拉希切(Raouf Rahiche)

AES的固定块大小为128位,密钥大小为128、192或256位,因此您可以尝试使用Salsa20代替

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章