【发布时间】:2019-10-10 14:08:52
【问题描述】:
我不知道在这里问我的问题是否合适。我只需要对我正在尝试构建的应用程序进行可行性研究。我选择 Flutter 是因为我可以快速创建移动应用。
我的应用程序将以音频文件的形式存储语音消息。它可以是 mp3 或音频格式。
为了使它只能被接收者读取,我需要使用 AES 或 e2e 加密来加密文件。
我需要知道是否可以在我的 Flutter 应用中使用 Dart 加密文件。如果可以的话,我想获得有用的资源。
我试图搜索这个主题,但我只能找到关于加密字符串或文本文件的文章。
【问题讨论】:
-
您可以使用 Dart 加密文件。文件只是一个字节序列,这正是流密码和块密码的工作原理。 (分组密码必须在“模式”中使用:例如,CTR、GCM、CCM 等)密码系统的设计(密钥管理、密钥材料推导等)不在 SO 问题的范围内,但是.
-
推荐 PointyCastle(BouncyCastle 的一个端口)可能更好,它在
UInt8List上运行,即字节数组。但是,您可能需要考虑为此特定部分使用本机/Java 代码,因为加密可能没有您期望的那么快。即便如此,您当然也可以先尝试 Dart。
标签: encryption flutter dart e2e-encryption