एंड्रॉइड के लिए एसक्यूएल सिफर का ठीक से उपयोग करने के लिए आपको बाहरी पुस्तकालयों का उपयोग करना होगा और कुछ कोड बदलना होगा जो आपके डीबी के साथ इंटरैक्ट करता है।
-
इन्हें पहले आपके प्रोजेक्ट में जोड़ा जाना चाहिए (libs फ़ोल्डर के भीतर।) इन्हें प्राप्त करने के लिए यहां देखें:http://sqlcipher.net/sqlcipher-for-android/
-
दूसरे आपको अपने एसेट फ़ोल्डर में icudt4dl.zip फ़ाइल जोड़ने की आवश्यकता है, यह ज़िप SQL सिफर लाइब्रेरी के साथ आता है।
-
अपने प्रोजेक्ट पर राइट क्लिक करें, प्रॉपर्टीज पर जाएं फिर जावा बिल्ड पाथ और फिर कॉमन्स-codec.jar, guava-r09.jar, sqlcipher.jar जैसे लाइब्रेरी शामिल करें। एक बार यह हो जाने के बाद, बिल्ड क्लीन करें।
-
फिर अपने ऐप के भीतर, android.database.sqlite आयात करने के बजाय, आप आयात net.sqlcipher.database
आयात करेंगे। -
किसी भी कोड को बदलें जो DB के साथ इंटरैक्ट करता है, उदाहरण:
SQLiteDatabase.loadLibs(संदर्भ);
स्ट्रिंग dbPath =this.getDatabasePath("dbname.db").getPath();
SQLiteDatabase db =SQLiteDatabase.openOrCreateDatabase(dbPath,"dbPassword", null);
-
सत्यापित करें कि डेटाबेस एन्क्रिप्ट किया गया है, ग्रहण में डीडीएमएस परिप्रेक्ष्य पर जाएं, फ़ाइल एक्सप्लोरर टैब पर क्लिक करें, डेटा/डेटा/पर नेविगेट करें, .db फ़ाइल पर क्लिक करें और डिवाइस फ़ाइल प्राप्त करें चुनें, इसे अपने डेस्कटॉप पर सहेजें और इसे टेक्स्ट के साथ खोलें संपादक। अपने डेटाबेस में सम्मिलित किए गए सादे पाठ मानों को देखें, यदि आप अभी भी उन्हें पढ़ सकते हैं, तो कुछ गलत हो गया है।
SQL सिफर को लागू करने से पहले कुछ SQLite ट्यूटोरियल की जाँच करना भी एक अच्छा विचार हो सकता है। एक अच्छे का उल्लेख यहाँ किया गया है:Android sqlite डेटाबेस - मैं कहाँ से शुरू करूँ क्योंकि ट्यूटोरियल नोटपैड के लिए चला गया है?
अपडेट करें
यह उत्तर अब पुराना हो चुका है और एंड्रॉइड डेवलपमेंट के लिए एक्लिप्स को व्यावहारिक रूप से बहिष्कृत कर दिया गया है। मुझे हाल ही में Android 5 + 6 के लिए Android Studio पर SQLCipher का उपयोग करके एक ऐप बनाना था और ये वे चरण हैं जिनका मैंने अनुसरण किया।
Android Studio में, आप SQLCipher को अपनी बिल्ड फ़ाइल में एक निर्भरता के रूप में शामिल कर सकते हैं। निम्न पंक्ति को शामिल करने के लिए बिल्ड ग्रेडेल में अपनी निर्भरता को अपडेट करें:
dependencies{
compile 'net.zetetic:android-database-sqlcipher:[email protected]'
}
आप यहां संस्करणों के साथ अद्यतित रह सकते हैं:https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher
जब तक मैं lib फ़ोल्डर और संपत्ति फ़ोल्डर में SQLCipher फ़ाइलों को हटा नहीं देता, तब तक मेरा ऐप नहीं बनेगा, लेकिन उसके बाद यह अपेक्षा के अनुरूप काम करता है। एक बार जब आप ये परिवर्तन कर लेते हैं, तो बिल्ड/क्लीन चलाएं और जांचें कि यह काम करता है या नहीं।
आपके कोड को बदलने के साथ ऊपर बताए गए वही चरण अभी भी कायम हैं।