यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
सुरक्षा
डिवाइस पर डेटा की रक्षा के लिए दो व्यावहारिक स्तंभ: एन्क्रिप्टेड डेटाबेस और प्रवेश द्वार के रूप में बायोमेट्रिक्स।
एन्क्रिप्टेड डेटाबेस (SQLite3MC)
SQLite को एक कुंजी के साथ खोलें — डिफ़ॉल्ट रूप से ChaCha20-Poly1305 सिफ़र (या SQLCIPHER):
byte[] chave = derivarChaveDaSenha(senhaUsuario); // ⚠️ KDF के साथ पासवर्ड से व्युत्पन्न करें — कभी hardcode न करें
try (SqliteDb db = SqliteDb.open("cofre.db", chave)) {
// … पारदर्शी रूप से एन्क्रिप्टेड डेटा …
db.rekey(novaChave); // कुंजी बदलता है (उदा.: जब उपयोगकर्ता पासवर्ड बदले)
}
- कुंजी के बिना शून्य-लागत, कुंजी के साथ पारदर्शी सिफ़र — कुंजी के बिना यह सामान्य SQLite है; कुंजी के साथ, सब कुछ एक्सेस पर सिफ़र/डिसिफ़र होता है, आपके SQL को बदले बिना।
- कभी भी कुंजी को हार्डकोड न करें। इसे KDF के साथ उपयोगकर्ता के पासवर्ड से व्युत्पन्न करें; प्लेटफ़ॉर्म के keystore में केवल आवश्यक सामग्री रखें।
- सिफ़र हटाते समय सावधान रहें (असुरक्षित करने के लिए
rekey) — फ़ाइल स्पष्ट रूप में पठनीय हो जाती है।
प्रवेश द्वार के रूप में बायोमेट्रिक्स
किसी संवेदनशील क्षेत्र (वित्तीय, व्यक्तिगत डेटा) से पहले, बायोमेट्रिक्स की माँग करें:
if (Biometry.isAvailable()) {
Biometry.authenticate("Acessar cofre", "Cancelar", false,
(res, msg) -> Component.onUI(() -> {
if (res == Biometry.AuthResult.SUCCESS) abrirCofre();
else loginPorSenha(); // हमेशा fallback
}));
} else {
loginPorSenha();
}
- बायोमेट्रिक डेटा कभी डिवाइस से बाहर नहीं जाता — ऐप को केवल
SUCCESS/FAILURE/आदि प्राप्त होता है। - बायोमेट्रिक्स स्थानीय प्रमाणीकरण है: यह एप्लिकेशन प्रमाणीकरण (सर्वर लॉगिन) को पूरक करता है, प्रतिस्थापित नहीं करता।
अन्य सावधानियाँ
- Clipboard: रहस्यों को क्लिपबोर्ड पर कॉपी न करें (
Device.clipboardCopy) — यह अन्य ऐप्स के लिए सुलभ रहता है। - फ़ाइलें/
homeFolder:Device.homeFolderमें डेटा डिफ़ॉल्ट रूप से सिफ़र नहीं होता — जो संवेदनशील है उसके लिए एन्क्रिप्टेड डेटाबेस का उपयोग करें। - लॉग:
Debug.logके साथ पासवर्ड/टोकन रिकॉर्ड न करें।
अच्छी प्रथाएँ
- संवेदनशील डेटा → एन्क्रिप्टेड SQLite; पासवर्ड से व्युत्पन्न कुंजी (KDF), कभी कोड में नहीं।
- स्थानीय gate के रूप में बायोमेट्रिक्स + हमेशा एक एप्लिकेशन fallback।
- clipboard में, स्पष्ट फ़ाइल में या लॉग में कोई रहस्य नहीं।
आम गलतियाँ
- कोड में हार्डकोड की गई कुंजी (कोई भी इसे बाइनरी से निकाल सकता है)।
- बायोमेट्रिक्स को ऐसे मानना जैसे यह सर्वर लॉगिन को प्रतिस्थापित करता हो।
homeFolderमें गैर-एन्क्रिप्टेड फ़ाइल में टोकन/पासवर्ड रखना।
यह भी देखें
क्या यह पृष्ठ उपयोगी था?प्रतिक्रिया के लिए धन्यवाद!