- EncryptedSharedPreferences를 사용한 암호화된 사용자 저장 - SHA-256 해싱으로 비밀번호 보안 강화 (username을 salt로 사용) - 사용자 CRUD 기능 (추가/수정/삭제/조회) - 사용자 관리 UI 추가 (UserManagementActivity) - FTP 인증 로직을 placeholder에서 실제 검증으로 변경 - 기본 admin/admin 사용자 자동 생성 - 마지막 사용자 삭제 방지 기능 보안 기능: - 이중 보안: 비밀번호 해싱 + EncryptedSharedPreferences - 평문 저장 없음 - 유효성 검사 (username: 3-20자 영숫자+_, password: 최소 4자) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
39 lines
1.1 KiB
Groovy
39 lines
1.1 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
}
|
|
|
|
android {
|
|
compileSdk 34
|
|
|
|
defaultConfig {
|
|
applicationId "be.gyu.android.server.ftp"
|
|
minSdk 21
|
|
targetSdk 34
|
|
versionCode 1
|
|
versionName "1.0"
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
|
|
implementation 'androidx.appcompat:appcompat:1.3.0'
|
|
implementation 'com.google.android.material:material:1.4.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
|
implementation 'androidx.security:security-crypto:1.1.0-alpha06'
|
|
testImplementation 'junit:junit:4.13.2'
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
|
} |