TangbaoD 2015-08-17 07:34 采纳率: 0%
浏览 1488

Android 平台下实现可搜索加密

各位大神 我想问一下,我现在有个作业,思路不是很清晰,还希望大神们给点指导。 作业要求是 开发一个 基于安卓的可搜索加密原型 差不多能做到对 短信,通讯录,和图片的可搜索加密,加密文件在本地就好。很简单的一个系统原型,最关键的是能实现对加密文件中的搜索。 求各位大神给点思路 脑子里一点感觉都没有
有以下几点难题:
1.如何对安卓平台下的短信,通讯录和图片进行操作。
2.加密文件放在本地后使用简单的数据结构如何实现加密文件的搜索。
我的思路举例(可能不准确):
安卓平台下文件1: 实验1.jpg 文件内容:可搜索加密1 //(文件名和文件内容都为明文)
安卓平台下文件2: 实验2.jpg 文件内容:可搜索加密2 //(文件名和文件内容都为明文)
安卓平台加密后1: Xxx.XXX 文件内容:B2$H42%71 //(加密后文件和文件内容都为密文)
安卓平台加密后2: yyy.yyy 文件内容:B2$H42%82 //(加密后文件和文件内容都为密文)

之后构造一个新的索引文件(表的格式):

文件名(明文) | 文件名 (密文) | 文件编号
实验1.jpg | Xxx.XXX | 1
实验2.jpg | yyy.yyy | 2
———————————————————

通过对搜索的名字进行加密后形成搜索的关键字,在索引文件中找到相对应的 文件名(明文)
实现搜索的完成。

这种思路可以么? 如果可以的话能提供一些技术上需要什么方法和思路么? 谢谢大家!

如果大家还有什么思路 欢迎讨论一下 谢谢!

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-06-27 09:48
    关注

    您的思路基本上是正确的。下面是一些具体的建议。

    首先,对于短信和通讯录,您可以使用 Android 提供的 Content Provider 来访问它们的数据。Content Provider 是 Android 中的一个组件,它提供了一种标准的方式来访问和共享应用程序数据。您可以使用 Content Provider 来读取和写入短信和通讯录数据。

    对于图片,您可以使用 Android 提供的 MediaStore 来访问它们的数据。MediaStore 是 Android 中的一个组件,它提供了一种标准的方式来访问和共享媒体文件,例如图片、音频和视频。您可以使用 MediaStore 来读取和写入图片数据。

    关于加密和搜索,您可以使用一种称为可搜索加密(Searchable Encryption)的技术来实现。可搜索加密是一种特殊的加密技术,它允许用户在加密的数据集合中搜索特定的数据,而无需暴露数据的明文。

    具体地说,您可以在本地存储中保存一个加密的索引文件,该文件包含加密后的文件名和对应的文件编号。当用户进行搜索时,您可以将搜索关键字加密后与索引文件中的加密文件名进行匹配,找到对应的文件编号,然后再去读取对应的加密文件,解密后返回明文结果。

    关于加密算法的选择,可以使用常见的对称加密算法,例如 AES、DES 等,同时加密关键字时可以使用哈希算法进行处理。

    最后,建议在实现过程中注意安全问题,例如加密算法的安全性、加密密钥的管理、用户数据的保护等。

    评论

报告相同问题?

悬赏问题

  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3