カスタム暗号で作成した文字列があります。この文字列には、任意のchar
値(0〜0xFFFF)を指定できます。この文字列は、入力平文を取得し、各文字を疑似乱数値で回転させることによって作成されるため、出力文字が何であるかを制御することはできません。
これを問題なくSQLiteDatabaseTEXT
フィールドに安全に保存および取得できますか?
JavaはUTF-16を使用していると思うので、文字列のランダムな場所に、、、、、などの文字が表示されるのではないかと心配しています。SQLiteがこれを内部でどのように格納するかはよくわかりませんNULL
。テキストベースのマーカーを使用してフィールドの開始と終了を決定する場合、これは失敗するのではないかと思います。END OF TEXT
ESCAPE
'
"
0xfeff / 0xfffe (BOM)
理想的には、入力したのとまったく同じ文字シーケンスを元に戻して、逆暗号化を実行できるようにします。
のマネージドinsert(ContentValues)
メソッドを使用するSqLiteDatabase
ので、入力文字列のエスケープに関する問題はこれで解決できると思いますが、これが機能するかどうかはまだよくわかりません。
これは安全な操作ですか?そうでない場合は、暗号化された文字列を保存する代わりに他に何をすべきですか?