Rumah  >  Artikel  >  Bagaimana untuk menyimpan kunci dengan selamat dalam AndroidKeyStore menggunakan kata laluan?

Bagaimana untuk menyimpan kunci dengan selamat dalam AndroidKeyStore menggunakan kata laluan?

WBOY
WBOYke hadapan
2024-02-10 19:15:08490semak imbas

editor php Baicao membawakan anda panduan tentang cara menyimpan kunci dengan selamat dalam AndroidKeyStore menggunakan kata laluan. Dalam pembangunan aplikasi mudah alih, melindungi keselamatan kunci anda adalah penting. AndroidKeyStore menyediakan cara yang boleh dipercayai untuk menyimpan kunci bagi memastikan ia tidak boleh diperolehi oleh aplikasi atau penyerang berniat jahat. Panduan ini akan menerangkan cara menggunakan kata laluan untuk menyulitkan kunci dan menyimpannya dengan selamat dalam AndroidKeyStore untuk menyediakan tahap keselamatan tertinggi. Sama ada anda seorang pemula atau pembangun yang berpengalaman, anda boleh mengikuti panduan langkah demi langkah ini dengan mudah untuk mencapai matlamat ini. Mari mulakan!

Kandungan soalan

Saya cuba mencipta aplikasi yang membolehkan pengguna menyimpan kata laluan. Kini, saya membenarkan pengguna menyulitkan kata laluan mereka dalam dua cara, yang pertama adalah biometrik dan yang lain adalah kata laluan

Saya dapat membenarkan kata laluan dengan mencipta kunci dalam AndroidKeyStore dan menetapkan setUsetAuthenticationRequired(true) 来实现 biometrics penyulitan semasa mencipta kunci, dan kemudian menggunakan BiometricsManager.

Namun, saya tidak pasti bagaimana untuk melaksanakan kata laluan satu. Saya cuba mencari PBE penyulitan tetapi tidak banyak dalam dokumentasi Android. Apakah penyelesaian yang paling selamat dan terbaik untuk situasi ini? Jika ada pautan untuk perkara yang sama saya akan berterima kasih :)

(Nota: Jika saya menggunakan penyulitan PBE dan menyimpan data yang disulitkan (berbilang nama pengguna dan kata laluan) dalam RoomDB, bagaimana saya boleh Saya menyemak sama ada kata laluan itu betul pada kali seterusnya apl berjalan dan jika tiada apa-apa dalam pangkalan data untuk menyahsulit dan menguji)

Saya juga menemui cara untuk mencipta kunci, kemudian simpan kunci sebagai entri dan gunakan https://developer.android.com/reference/java/security/KeyStore.PasswordProtection untuk melindungi entri. Beritahu saya jika ini adalah penyelesaian yang cukup selamat atau jika terdapat penyelesaian yang lebih baik.

Terima kasih!

Penyelesaian

Jika anda ingin menyimpan kata laluan dalam Bilik, anda perlu menjalankan fungsi cincang dan kemudian simpan cincang kata laluan. Tidak kira berapa lama kata laluan anda, nilai cincang adalah saiz tetap.

Untuk membandingkan kata laluan input dengan kata laluan yang disimpan dalam pangkalan data, anda mencincang input dan membandingkannya dengan nilai cincang yang disimpan dalam pangkalan data. Kerana jika anda menggunakan fungsi cincang pada rentetan yang sama, anda akan mendapat hasil yang sama. Jika terdapat sekurang-kurangnya 1 simbol salah - cincangan yang dihasilkan akan berbeza sama sekali.

Anda boleh menyemak ini dan menggunakan algoritma PBKDF2. Butiran lanjut tentang cara memilih fungsi cincang dan perkara yang tidak boleh digunakan boleh didapati di sini

Atas ialah kandungan terperinci Bagaimana untuk menyimpan kunci dengan selamat dalam AndroidKeyStore menggunakan kata laluan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam