Android Simperium中用于添加数据加密的插入点在哪里?

Android Simperium中用于添加数据加密的插入点在哪里?,android,encryption,simperium,Android,Encryption,Simperium,我只是喜欢SimpleNote 但是,我不喜欢我的数据在某个地方的服务器上未加密。我理解为什么默认情况下不是这样(特别是对于SimpleNote),但是如果我愿意,我希望可以选择加密我的数据 我曾考虑在我自己的fork上向Simperium客户端库添加(可选/可配置)加密,但我很难找到加密/解密例程的插入点。这些库有很多不同之处(我确信这有利于提高速度),我还没有找到任何关于模型的文档或通过它们的数据流 所以,我想知道: 有人已经在解决这个问题了吗?(我在Simperium或SimpleNote

我只是喜欢SimpleNote

但是,我不喜欢我的数据在某个地方的服务器上未加密。我理解为什么默认情况下不是这样(特别是对于SimpleNote),但是如果我愿意,我希望可以选择加密我的数据

我曾考虑在我自己的fork上向Simperium客户端库添加(可选/可配置)加密,但我很难找到加密/解密例程的插入点。这些库有很多不同之处(我确信这有利于提高速度),我还没有找到任何关于模型的文档或通过它们的数据流

所以,我想知道:

  • 有人已经在解决这个问题了吗?(我在Simperium或SimpleNote网站上找不到路线图。)
  • 是否有关于代码编写方式的实际文档(模型/关系图或流程图)
  • 插入密码的最佳位置是哪里?(我打算从Android客户端开始。)
  • 什么是“鬼”

  • 希望你做的不仅仅是很棒

  • 恐怕加密不是我们团队目前正在解决的问题

  • 尽管类图并没有真正上传到任何地方,但是有几种自动生成工具,例如,可以为您动态地呈现这些类图

  • 看下面

  • Simperium的工作方式非常有趣。本地数据库实体在一个字段中保留最后一个已知远程状态的副本,我们称该字段为Ghost

    每当执行本地更改时,库将计算上次已知的远程状态(也称为重影)与本地状态之间的差异。此更改将排队,并尽可能发送

    现在,这里是它变得更加棘手的地方。后端被认为是规范的存储库//主机,客户端实际执行更改请求。接受或拒绝更改取决于后端

    从某种意义上说,这类似于GIT的工作方式。如果您试图推动本地更改,则在远程分支发散后,您将得到一个错误,并且需要进行重新基础/合并

    根据设计,我担心Simperium的后端需要能够将客户端发布的差异应用到其本地数据库中。实现加密需要重新思考加密的方式,并修补后端

  • 如果你想进一步讨论这个问题,请直接发邮件给jorge.perez(at)automattic-dot-com,或者在网上找我。我非常乐意带你参观这座建筑

    感谢您对Simperium/Simplenote的兴趣