按加密字段对数据库表进行排序

时间:2016-04-22 12:07:44

标签: java android sql sqlite encryption

我有一个SQLite表,看起来像:

CREATE TABLE MyTable
( _id INTEGER PRIMARY KEY AUTOINCREMENT,
  encrypted_field BLOB
);

实际上这个BLOB只是AES-256加密的JSon类,如:

public class MySecretClass {
   private Date date;
   private String message;
}

因为,它在Android下 - 我有ContentProvider读取数据,解密记录“在线”并提供相应的ListViewRecyclerView

我需要以某种方式按DateString

提供排序

我的第一个目的是在我的表中引入额外的字段,以便它反映记录修改并以某种方式“模拟”DateString的排序,但最后我卡住并发现它是不可行的。

还有其他想法,解决方法吗?

1 个答案:

答案 0 :(得分:1)

  

在应用程序中排序,而不是在数据库中排序。

是的,我同意这是最好的解决方案。

具体来说,我将使用MatrixCursor,这是我的purpoces的理想选择。解密内容并将对象放入MatrixCursor将得到所需的结果。

幸运的是,可排序的内容并不大,每条记录只有少量单词,且记录数量合理(<1000)。