Ho creato un paio di DLL dalla sorgente. Sono principalmente dalla stessa fonte, sqlite-3.6.22, Open SSL 0.9.8 e sqlcipher.Crittografia SQLite diversa tra piattaforme
Il motivo per cui ho creato due era che ne avevo bisogno uno per lavorare con un progetto C++ e uno come un driver JDBC per java (quindi una java jni dll).
Ora ho le due DLL, posso scrivere e creare database in C++ e C# (utilizzando il C uno), e lo stesso in Java. Entrambi rispondono come mi aspetterei, è possibile aprirli se si fornisce la password corretta, fallisce se si fornisce quella sbagliata, ecc. In teoria dovrebbe essere l'impostazione predefinita per sqlcipher, che è codificata su aes-256- CBC. Tuttavia, non posso aprire un database creato con uno con l'altro. Posso aprire un database creato con la versione c in SQLite3 Management studio, ma solo se metto la password con RSA selezionata, non posso aprire quella creata in java in qualsiasi altra cosa abbia.
L'altra cosa è che se creo due database con contenuti identici con il database c, sono byte per byte identici, mentre quelli java no.
Sono sicuro che sto facendo qualcosa di ovvio, ma non riesco davvero a vederlo - per quanto posso vedere il java sta funzionando bene (più facile eseguire il debug per qualche motivo).
Scusa l'errore tremendo di "differenze" per favore! – Woody
Non sono sicuro che la mia domanda sia pertinente. È possibile creare due database non crittografati con Java identici byte per byte? –
Ho corretto il tuo errore di battitura! – CraigTP