[암호화] 양방향 vs 단방향 암호화 feat. SHA256
https://study-easy-coding.tistory.com/153
한번 해시코드로 암호화한 비밀번호는 복호화로 되돌릴 수 없다.
서로 동일한 키를 비공개로 알고있고, 그걸로 인증
'레인보우 테이블의 존재'
이처럼 이미 레인보우 테이블이란 게 존재해서
DB를 털어버리고, 해시함수로 저장되어 있는 PW 값을 레인보우 테이블과 비교해 버린다면...?
이렇게 되면 결국 단방향 암호화도 안전한 방식은 아니라고 할 수 있다.
그래서 salt라는 것이 나오게 된 것이다.
salt는 소금이라는 뜻으로 양념을 친다고 생각하자
유저가 회원가입 시 입력한 PW + 특정 문자열(salt)을 조합 -> SHA256 알고리즘을 통해 해시함수로 만드는 것이다.
https://cafe.naver.com/hamminglab/20345(https://wakestand.tistory.com/518)
https://cafe.naver.com/hamminglab/21561(https://kdg-is.tistory.com/239)
https://cafe.naver.com/hamminglab/21578
https://cafe.naver.com/hamminglab/21610(https://jaimemin.tistory.com/2182)
https://cafe.naver.com/hamminglab/21609(https://mollangpiu.tistory.com/185)
배가운동? 코드 자기자신을 복사해 다시 삽입하므로 2의 제곱으로 늘어나기때문에 테스트 row를 생성시에 좋다.
INSERT INTO members (memid, passwd)
SELECT memid, passwd
FROM members;
자바 프로젝트에서 회원을 저장한 DB가 암호화 되어 있지 않아 누구나 알 수있었고 그것을 해결 하기 대안을 찾아 보았습니다.
*자료조사
1. MairDB Security - 교재내용
2. 한국인터넷 진흥원에서 개인정보 암호화 관리서
3. sha25 & salt
4. 시프링큐리트 등을 참조
DB에서
1) 단일암호화 방식
2) 양방향 방향을
자바에서 sha256Hash / sha512
emn178.github.io/online-tools/sha256.html
1) 암호화
2) 암호화는 가능하나 누구나 추론해서 해독이 가능하다는 문제
샤(Sha256/521) 패스워드는 해독이 가능함. - 레인보우 테이블
232 AWS 풀스택 -> 2차발표 -> 4조
1. sha256Hash : 암호화 및 글자 제한 및 정규화 사용
BCrypPassword 방식은 SpringSecurity
docs.spring.io/spring-security/site/docs/current/api/org/springframework/security/crypto/bcrypt/BCryptPasswordEncoder.html
=> 참조영상 https://www.youtube.com/watch?v=8I5Zk_pFIns - 매번 암호는 달라야 한다.
2. OPenAPI : 주소
MVC2 모델
부트스트랩과 슬라이드 바 사용
좌석배치 기법 -> 예약좌석 / 달력등에 응용