我有一个使用自定义密码创建的字符串,它可以具有任何char
值(0 到 0xFFFF)。该字符串是通过获取输入明文并将每个字符旋转一个伪随机值来创建的,因此我无法控制输出字符可能是什么。
我可以安全地将其存储和检索到 SQLiteDatabaseTEXT
字段中而没有任何问题吗?
我认为 Java 使用 UTF-16,所以我有点害怕像NULL
, END OF TEXT
, ESCAPE
, '
,"
等这样的字符0xfeff / 0xfffe (BOM)
会随机出现在我的字符串中,而且我不确定 SQLite 将如何在内部存储它。如果它使用任何基于文本的标记来确定字段的开始和结束,恐怕这会失败。
理想情况下,我想取回我输入的完全相同的字符序列,这样我就可以通过反向密码来输入它。
我将使用 的托管insert(ContentValues)
方法SqLiteDatabase
,所以我认为这将解决有关转义输入字符串的任何问题,但我仍然不太相信这可以工作。
这是一个安全的操作吗?如果不是,我还应该做些什么来存储我的加密字符串?