본문 바로가기
Flutter

[Flutter] 사용자 비밀번호 암호화 설정 ( obscureText & Hash )

by 알기 쉬운 코딩 사전 2023. 9. 3.
반응형

수정 전 Flutter 앱 화면

Login 화면에서 사용자의 아이디와 비밀번호가 전부 보이는 상태입니다.

아래 이미지를 참고해 주세요.

VIEW

 

✅  Flutter에서 비밀번호 설정하는 방법

obscureText:true 속성을 추가합니다.

아래 소스 코드와 이미지를 참고해 주세요. 

LGOIN.DART

 

🌟 수정 후 Flutter 앱 화면

VIEW

참고: obscureText: true속성은 해당 textField를 보이지 않게 암호화 처리를 해주는
동시에 textField의 복사를 막아줍니다.

 

✅  Flutter에서 비밀번호 Hash 설정하는 방법

crypto 라이브러리를 통하여 비밀번호를 DB에 직접 저장하지 않고,
비밀번호의 Hash 값을 저장합니다.

아래 소스 코드와 이미지를 참고해 주세요. 

 

import 'package:crypto/crypto.dart';

 

// userps를 암호화하여 bytes 변수에 저장
var bytes = utf8.encode(userps);

// bytes 변수를 해쉬 값으로 변환하여 passwordHash 변수에 저장
var passwordHash = sha256.convert(bytes).toString();

// passwordHash 변수를 Json 객체로 변환하여 data 변수에 저장
Map data = {      'userid': '$userid',      'userps': '$passwordHash',    };

 

LOGIN.DART

 

🌟 수정 후 DB 확인

DB

참고: userId test12는 비밀번호 hash를 적용하기 전이고
userId test2는 hash를 적용한 후 입니다.
test12와 test2는 둘 다 똑같은 비밀번호 123456789!를 입력받았지만
다르게 저장된 걸 확인할 수 있습니다.

 

반응형

댓글