반응형
개발 환경
OS : windows
IDE : VSC ( Flutter) & STS ( Spring )
개발 언어 : Dart & Java
서론
프로젝트 진행 시 회원가입을 진행할 때 사용자의 비밀번호 부분을 강화하기로 하였습니다.
현재 Login 화면에서는 사용자의 아이디와 비밀번호가 전부 보이는 상태입니다.
Flutter에서 비밀번호 ( 패스워드 ) 암호화 설정 방법
1. obscureText: true 속성 추가
비밀번호 Text 부분에 obscureText 속성을 추가해 줍니다.
obscureText: true,
obscureText 속성을 추가해 준 상태입니다.
obscureText 속성은 다음과 같은 기능이 있습니다.
- 해당 비밀번호 TextField 부분이 보이지 않게 암호화 처리를 해줍니다.
- 해당 비밀번호 TextField 부분이 복사가 되지 않습니다.
2. 비밀번호 Hash
UserPassword를 직접적으로 DB에 저장하지 않고 Hash를 통하여 UserPassword의 Hash 값을 저장해 줍니다.
import 'package:crypto/crypto.dart';
해당 라이브러리를 추가해 줍니다.
var bytes = utf8.encode(userps);
var passwordHash = sha256.convert(bytes).toString();
Map data = { 'userid': '$userid', 'userps': '$passwordHash', };
이런 식으로 UserPassword가 아닌 passwordHash 변수를 추가로 설정하여 저장합니다.
id 3번의 데이터는 비밀번호 hash를 적용하기 전이고 id 4번은 비밀번호 hash를 적용한 후입니다.
둘 다 똑같은 비밀번호 "123456789!"를 입력받았지만 다르게 비밀번호가 저장된 걸 확인할 수 있습니다.
반응형
'Dart&Flutter' 카테고리의 다른 글
[ Flutter ] 화면 초기화 & 화면 재설정 & stack 데이터가 남아 있는 문제 해결 방법 (0) | 2023.09.01 |
---|---|
[ Flutter ] PathExistsException: Cannot create link, path 오류 해결 (0) | 2023.08.31 |
[ Flutter ] Spring & DB 연동해서 User 정보 저장하기 (0) | 2023.08.31 |
[ Flutter ] 플러터 appbar 색상 변경하기 / primarySwatch 속성 (0) | 2023.08.31 |
[ Flutter ] Flutter 프로젝트 만들기, 프로젝트 생성 하는 방법 (0) | 2023.08.23 |
댓글