목록Spring Boot (48)
JUST GO

비밀번호 해싱하기 1. 멤버 서비스에 적어줍니다. 2. 회원가입, 로그인할 때, 비밀번호 재설정 시에도 해야합니다. 보통 많이 쓰이는 경우에 유틸리티에 따로 빼놓는 것이 좋습니다. // 비밀번호 해싱 StringBuilder passwordHashBuilder = new StringBuilder(); MessageDigest md = MessageDigest.getInstance("SHA-512"); md.update(user.getPassword().getBytes(StandardCharsets.UTF_8)); for(byte hashByte : md.digest()){ passwordHashBuilder.append(String.format("%02x", hashByte)); } user.setPas..
암호화 양방향 암호화(Two-way Encryption) 양방향 암호화란 어떠한 평문을 키(Key)를 사용하여 암호화한 뒤 앞서 사용한 동일한 키를 통해 평문으로 다시 복호화(Decrypt) 할 수 있는 알고리즘 전체를 의미한다. 단방향 암호화(One-way Encryption)와 해시(Hash) 단방향 암호화란 어떠한 평문을 한 번 암호화할 경우 일반적인 방법으로는 복호화할 수 없는 알고리즘 전체를 의미한다. 해시(Hash)는 평문을 변형하기 때문에 평문이 가지는 내용을 알아낼 수 없으며 고정 길이로 반환한다. 가령, 한 자(1 Byte)를 해싱하든, 일 억자를 해싱하든 동일한 길이의 결과가 나온다. MD2 : 32자의 16진수. 무결성이 훼손된 상태이다. MD5 : 32자의 16진수. 무결성이 훼손된..
순서 0. 컨트롤러 1. 프론트(HTML / CSS / JS) 2. 스키마 / 테이블 3. 요청 / 응답 로직
# 요청 준비 - FormData 준비 - UserEntity 가 가지는 모든 멤버에 대응하는 값 Append - EmailAuthEntity 가 가지는 모든 멤버에 대응하는 값 Append(index 제외) Cover.show('회원가입 진행 중입니다.\n\n잠시만 기다려 주세요.'); const xhr = new XMLHttpRequest(); const formData = new FormData(); formData.append('email', form['email'].value); formData.append('code', form['emailAuthCode'].value); formData.append('salt', form['emailAuthSalt'].value); - XHR 준비 - ‘PO..