在MonoTouch应用程序中保护声明性(例如XML / SQLite)数据的选项有哪些?

时间:2010-03-10 10:34:57

标签: xamarin.ios

我正在创建一个MonoTouch应用程序,它具有一些客户端不希望轻易检索的声明性业务逻辑。显然,通常的论点是,软件中的任何内容都不能被保护,但客户更希望它不是简单容易做到的。

我可以将逻辑编码为C#,但如果我可以将它作为XML文档或SQLite数据库(或其他),它会更清晰。

有没有办法将XML文档或SQLite数据库嵌入到已编译的代码中?

如果不这样做,有没有人尝试在MonoTouch应用程序中加密XML文件或SQLite数据库(或其他声明技术),并且可以指出我正确的方向。我猜测解密XML文件可能很简单,但如果在iPhone上执行此操作会有“陷阱”,那就不会让我感到惊讶。

1 个答案:

答案 0 :(得分:1)

我最近使用XmlSerialization的应用程序完成了这项工作。我使用Rijndael(this one)来加密数据,并将数据保存到磁盘。显然,对于最专注的入侵者来说,密钥在二进制文件中仍然可见,但对于大多数人来说,这很难随便查看XML。

在您的情况下,您可以执行此操作,然后将XML文件添加为嵌入式资源。我不确定Monotouch如何实现嵌入式资源,但它们可以快速加载。