当前位置: 首页 > 知识库问答 >
问题:

使用Xamarin保护跨平台存储选项

戎桐
2023-03-14

我目前正在考虑将Xamarin作为开发平板电脑应用程序的一个选项(目前的目标是iOS和Android,但将来考虑将其移植到Win8平板电脑)

要存储的数据非常敏感,所以安全性是我最关心的问题。

到目前为止,我在想两个选择:

a) SQLite SQLCipher:假设Win8平板电脑将具有SQLite支持,并且SQLCipher也将在Win8上工作。

b) 隔离存储DPAPI:假设此DPAPI方法将在Mono平台上工作,并且它仍将在Win8平板电脑上可用。

我在这里担心的是,为了安全地存储密钥,我想我仍然需要为每个平台提供单独的实现(iOS上的数据保护,我还在审查Android和Win8平板电脑的选项)。

是否有任何跨平台解决方案可以安全地存储加密密钥,或者有另一种完全跨平台的方式来安全地存储数据?如果没有完全跨平台的解决方案,那么在每个平台上有推荐的选项吗?

共有2个答案

景成和
2023-03-14

我们在我们的解决方案中使用SQLite SQLCipher,它在跨平台环境中工作得非常好。如果我没有弄错,使用SQLCipher没有问题,因为它使用AES。不管怎样,我建议你检查一下,但我不认为这是一个问题。SQLCipher本身不会使数据无法读取,如果您允许在SQLCipher中使用密码的选项,可能会有问题,但仍然如此。对于AES来说,获得许可的过程非常简单,可以在几天内完成。

山翼
2023-03-14

我已经为解决安全存储问题编写了一个插件。它跨平台工作,并在每个平台上以本机方式保护数据。它是开源的。

请检查一下。https://www.nuget.org/packages/sameerIOTApps.Plugin.SecureStorage/

博客:https://sameer.blog/2018/01/19/whats-new-in-secure-storage-2-0/

让我知道,如果你有任何问题。

 类似资料:
  • 我需要在我的应用程序中为不同的标签指定不同的FontFamily。我需要使用默认字体(如Android的Roboto和iOS的Helvetica)及其修改(如轻、中、粗)。据我所知,我应该使用Roboto-Light和Helvetica-Light来获得字体的轻版本(中号和粗体相同)。除了这个需求之外,我还需要在XAML中设置字体(如文档中所描述的),所以我最终得到了以下代码 然而,在Androi

  • 问题内容: 我正在为我的第一个大型Xamarin.Forms项目准备好整个团队的开发环境,从敏捷的角度来看,整个团队都参与其中。 在继续前进之前,我需要验证一个假设…单元测试。 我们计划在OSX上使用Jenkins使用Android和Windows Phone的TFS来实现构建基础结构。创建单元测试项目时,需要做一些特殊的考虑吗? 使用NUnit 我可以只创建包含测试的类库吗?他们需要成为PCL吗

  • 我需要在Android/Ios的xamarin中使用camera/gallery。有办法吗?

  • 多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。

  • 本文向大家介绍svn 使用受密码保护的存储库,包括了svn 使用受密码保护的存储库的使用技巧和注意事项,需要的朋友参考一下 示例 可以配置Subversion存储库,以便某些用户只能访问某些内容或命令。为了访问此受限内容,您将需要指定用户名和密码。 您的用户名和密码可以直接在命令中指定: 不幸的是,这会使您的密码在控制台上以纯文本形式出现。为了避免这种可能的安全问题,请指定用户名而不是密码。这样做

  • 我有一个只能使用签名url访问的S3存储桶。到目前为止,我使用GeneratePresignedUrlRequest(Java)生成签名url。现在我想通过CloudFront访问我的存储桶。问题是我如何在这种情况下生成签名url?