【发布时间】:2020-12-18 11:30:37
【问题描述】:
我有一个应用程序将数据逐行写入文件。完成后,需要压缩数据并将其传输到服务器。我想确保在压缩之后但在将数据传输到服务器之前,数据是安全的。因此,我想加密 zip(或内容)。另外,我想用非对称加密,因为源代码会被别人看到。
在颤振/飞镖中有没有办法做到这一点?
我的替代解决方案是将数据读回应用程序,加密,再次写入,然后压缩。你有什么想法?
【问题讨论】:
-
使用 非对称 加密,例如 RSA,只能加密有限长度的数据。最大长度对应于密钥长度,即对于 2048 位密钥,最大长度为 256 字节。对于较长的数据,必须使用 对称 加密(例如 AES),如果要使用非对称方法(例如 AES)加密对称密钥,则必须使用组合(混合加密)。将其发送给其他方。在加密过程中,处理二进制数据并返回二进制数据。因此,压缩原则上可以根据要求在加密之前或之后进行。
-
所以按照我的理解,不可能用非对称加密来加密整个文件?您对在将数据发送到服务器之前保持数据安全的建议是什么?
-
关于Q1:如果数据量太大(最迟如果大于密钥大小)是不可能的,关于Q2:使用对称加密(例如AES)或混合加密进行加密(如上)。也许 HTTPS 是你的一个选择,here。
标签: flutter dart encryption password-encryption