OctMon / flutter_des

Java, android, ios, get the same result by DES encryption and decryption.
MIT License
14 stars 13 forks source link

大佬你好,目前支持des-ecb中的pkcs7吗? #15

Open qllqll opened 2 years ago

qllqll commented 2 years ago

并且运行之后还报了一个错误 flutter: type 'Future<Uint8List?>' is not a subtype of type 'FutureOr<List>' in type cast

OctMon commented 2 years ago

flutter doctor -v 看一下flutter版本

qllqll commented 2 years ago

Flutter (Channel master, 2.10.0-1.0.pre.281, on macOS 11.3.1 20E241 darwin-x64, locale zh-Hans-CN) • Flutter version 2.10.0-1.0.pre.281 at /Users/wwp/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 7ec334827a (2 周前), 2022-01-24 19:50:10 -0800 • Engine revision 83cfdcc8f1 • Dart version 2.17.0 (build 2.17.0-51.0.dev) • DevTools version 2.9.2

OctMon commented 2 years ago

目前 stable 是没有问题的,建议使用稳定版 [✓] Flutter (Channel stable, 2.10.0, on macOS 12.2 21D49 darwin-x64, locale zh-Hans-CN) • Flutter version 2.10.0 • Upstream repository https://github.com/flutter/flutter.git • Framework revision 5f105a6ca7 (7 days ago), 2022-02-01 14:15:42 -0800 • Engine revision 776efd2034 • Dart version 2.16.0 • DevTools version 2.9.2

qllqll commented 2 years ago

大佬,还是一样的,是我打开的方式不对么 flutter: type 'Future<Uint8List?>' is not a subtype of type 'FutureOr<List>' in type cast

我已经换了成 Flutter is already up to date on channel stable Flutter 2.10.0 • channel stable • https://github.com/flutter/flutter.git Framework • revision 5f105a6ca7 (7 天前) • 2022-02-01 14:15:42 -0800 Engine • revision 776efd2034 Tools • Dart 2.16.0 • DevTools 2.9.2

qllqll commented 2 years ago

我是用encryptToBase64 这个方法会这个报错

qllqll commented 2 years ago

List.from()用这个转就不会报错了

OctMon commented 2 years ago

final_key = "u1BvOHzUOcklgNpn1MaWvdn9DT4LyzSX"; final _iv = "12345678"; final _text = "Java, android, ios, get the same result by DES encryption and decryption."; await FlutterDes.encryptToBase64(_text, _key, iv: _iv); 我这里是正常的,方便看下你的代码不?

qllqll commented 2 years ago

const string = "123456"; const key = "1644288237811"; const iv = "12345678";

try {
  var encryptBase64 =  await FlutterDes.encryptToBase64(string, key,iv: iv);
}catch(e){
  print(e);
}
qllqll commented 2 years ago

就这样的 和你的没啥区别

qllqll commented 2 years ago

还有个问题 为啥你这加密出来的不一样啊 oc代码如下

pragma mark - DES加密方法

OctMon commented 2 years ago
image

我这边没问题的

qllqll commented 2 years ago

我试了你的工程的 是没问题 但是引入包就有问题,我也感觉奇怪

OctMon commented 2 years ago

用Swfit写吧

qllqll commented 2 years ago

工程中是des_ecb PKCS7Padding 不知道为啥和你的加密出来不一样

OctMon commented 2 years ago

对照着 http://tool.chacuo.net/cryptdes 这个,选一样的方式,看看结果

qllqll commented 2 years ago

我和网站加密出来是一样的 只是偏移量没有 填充是PKCS7Padding image