如何解决从 Android Kotlin 加密芯片迁移到 Flutter Dart
我正在尝试使用 Dart 将解密代码从 Android 平台替换为 Flutter 并且在使用 3D(DESede) 解密算法时遇到问题,
Kotlin 代码:(Android 加密)
val data2 = Base64.decode("9KOnBwiSR/SY60q55ashNg==",Base64.NO_WRAP)
val myKey = SecretKeySpec("aRVFPuBfEPZH6k01".toByteArray(),"DESede")
val c3des = Cipher.getInstance("DESede/ECB/nopadding")
c3des.init(Cipher.DECRYPT_MODE,myKey)
val cipherText = c3des.doFinal(data2)
return String(cipherText)
试过这个没有成功(Flutter Dart encrypt)(结果不一样)
String key = "aRVFPuBfEPZH6k01";
DES3(key: key.codeUnits,mode: DESMode.ECB,paddingType:
DESPaddingType.None);
decrypted =
des3ECB.decrypt("9KOnBwiSR/SY60q55ashNg==".codeUnits);
安卓输出:JW3oeiEXifmR4s0x
颤振输出:%WëØpè6¢Ld7xïg´8B\M
我该如何实现这段代码? 谢谢!
解决方法
如果对某人有帮助 这是正确的代码
DES3 des3ECB = DES3(key: ENC.Encrypted.fromUtf8("aRVFPuBfEPZH6k01").bytes,mode: DESMode.ECB,paddingType: DESPaddingType.None);
decrypted = des3ECB.decrypt(ENC.Encrypted.fromBase64("9KOnBwiSR/SY60q55ashNg==").bytes);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。