2018. 10. 3. 01:18ㆍAndroid
ㅇ BCrypt 암호화 : 현재까지 가장 안전한 해쉬 알고리즘은 BCrypt이다. 비밀번호 암호화에 특화되어 고안된 알고리즘
ㅇ build.gradle에 아래 추가
dependencies {
implementation group: 'de.svenkubiak', name: 'jBCrypt', version: '0.4.1' // bcrypt lib
}
ㅇ MainActivity.java
String password = "12345*-/+"; // 입력값
// 위 비밀번호의 BCrypt 알고리즘 해쉬 생성, passwordHashed 변수는 실제 데이터베이스에 저장될 60바이트의 문자열이 된다.
// 숫자가 높아질수록 해쉬를 생성하고 검증하는 시간은 느려진다.
// 즉, 보안이 우수해진다. 하지만 그만큼 응답 시간이 느려지기 때문에 적절한 숫자를 선정해야 한다. 기본값은 10이다.
String passwordHashed = BCrypt.hashpw(password, BCrypt.gensalt(10));
// 생성된 해쉬를 원래 비밀번호로 검증한다. 맞을 경우 true를 반환한다. 주로 회원 로그인 로직에서 사용된다.
boolean isValidPassword = BCrypt.checkpw(password, passwordHashed);
if (isValidPassword)
System.out.println("====It matches====");
else
System.out.println("====It does not match====");
https://smartstore.naver.com/byrollin?
'Android' 카테고리의 다른 글
가로 막대 프로그레스바 (0) | 2018.10.15 |
---|---|
MD5, SHA1, SHA256 (0) | 2018.10.03 |
암호화(AES) (0) | 2018.10.02 |
안드로이드 생명주기 (0) | 2018.08.17 |
안드로이드 누가 이상 버전 다중창 막기 (0) | 2018.08.17 |