Security
Understanding Security in Android Development
Introduction to Security
Security Android apps के लिए critical है। यह user data को protect करता है और app की safety को ensure करता है।
Security is critical for Android apps. It protects user data and ensures app safety.
Key Features (मुख्य विशेषताएं):
- Security user data को protect करता है
- Security protects user data
- Security app को secure बनाता है
- Security makes app secure
- Security user privacy को maintain करता है
- Security maintains user privacy
- Security app integrity को ensure करता है
- Security ensures app integrity
Security Components (सुरक्षा कंपोनेंट्स)
Android में security के main components:
Main security components in Android:
Component (कंपोनेंट) | Description (विवरण) |
---|---|
Encryption | Data को secure करने के लिए encryption का use करता है |
Encryption | Uses encryption to secure data |
Authentication | User identity को verify करता है |
Authentication | Verifies user identity |
Authorization | User permissions को manage करता है |
Authorization | Manages user permissions |
Implementation Example (इम्प्लीमेंटेशन उदाहरण)
Security को implement करने का example:
Example of implementing security:
// Add security dependencies
dependencies {
implementation 'androidx.security:security-crypto:1.1.0-alpha06'
implementation 'androidx.biometric:biometric:1.2.0-alpha05'
}
// Encryption Example
class SecurityManager {
private val masterKey = MasterKey.Builder(applicationContext)
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
.build()
private val encryptedSharedPreferences = EncryptedSharedPreferences.create(
applicationContext,
"secure_prefs",
masterKey,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
fun saveSecureData(key: String, value: String) {
encryptedSharedPreferences.edit()
.putString(key, value)
.apply()
}
fun getSecureData(key: String): String? {
return encryptedSharedPreferences.getString(key, null)
}
}
// Biometric Authentication Example
class BiometricAuthActivity : AppCompatActivity() {
private lateinit var biometricPrompt: BiometricPrompt
private lateinit var promptInfo: BiometricPrompt.PromptInfo
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_biometric)
val executor = ContextCompat.getMainExecutor(this)
biometricPrompt = BiometricPrompt(this, executor,
object : BiometricPrompt.AuthenticationCallback() {
override fun onAuthenticationSucceeded(
result: BiometricPrompt.AuthenticationResult
) {
super.onAuthenticationSucceeded(result)
// Handle successful authentication
}
})
promptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle("Biometric Authentication")
.setSubtitle("Log in using your biometric credential")
.setNegativeButtonText("Cancel")
.build()
biometricPrompt.authenticate(promptInfo)
}
}
// Network Security Example
class NetworkSecurityConfig {
fun getOkHttpClient(): OkHttpClient {
return OkHttpClient.Builder()
.certificatePinner(
CertificatePinner.Builder()
.add("api.example.com", "sha256/...")
.build()
)
.build()
}
}
Best Practices (सर्वोत्तम प्रथाएं)
Security के साथ काम करने के best practices:
Best practices for working with security: