我已经将手机设备中的数据库从VistaDB迁移到了ProtoBuf,因为它速度太慢了。现在我使用ProtoBuf创建一系列存储卡上的平面文件,唯一的问题是显然没有加密。
哪种加密方法最适合于ProtoBuf?我基本上会将数据实体的集合序列化到文件中,然后从文件反序列化回到我的集合中。我想把加密放在读/写的FileStream中应该是最好的地方。
这些数据将包含NI号码、姓名和地址,因此必须确保安全。有任何想法吗?
我已经将手机设备中的数据库从VistaDB迁移到了ProtoBuf,因为它速度太慢了。现在我使用ProtoBuf创建一系列存储卡上的平面文件,唯一的问题是显然没有加密。
哪种加密方法最适合于ProtoBuf?我基本上会将数据实体的集合序列化到文件中,然后从文件反序列化回到我的集合中。我想把加密放在读/写的FileStream中应该是最好的地方。
这些数据将包含NI号码、姓名和地址,因此必须确保安全。有任何想法吗?
我认为你走在了正确的轨道上。你应该可以做到像这样:
ICryptoTransform encryptor = ...
Stream encStream = new CryptoStream(outputFileStream, encryptor, CryptoStreamMode.Write);
Serializer.Serialize(encStream, obj);
encStream.FlushFinalBlock()
encStream.Close();
ICryptoTransform decryptor = ...
Stream decStream = new CryptoStream(inputputFileStream, decryptor, CryptoStreamMode.Read);
Serializer.Deserialize<Type>(decStream);
decStream.FlushFinalBlock()
decStream.Close();
关于.NET的加密框架基础知识(包括如何获取ICryptoTransform对象),请查看其他类似问题,例如在.NET中加密短字符串的最佳方法是什么?。