본문 바로가기

SQL2

비밀번호 해싱MD5 > sha256 문제 해결 이전의 비밀번호 암호화 글 https://pushvalue.tistory.com/42 pw 암호화(md5)후 DB에 저장하기 내 프로잭트의 비밀번호 저장 기능은 유저가 입력한 비밀번호 그대로 DB에 저장 된다 이렇게 되면 비밀번호가 노출될 위험이 있다 비밀번호가 그대로 저장되지않고 비밀번호의 해시값을 저장 pushvalue.tistory.com 테스트 코드를 만들면서 테스트코드 전용 데이터베이스가 필요했다 spring boot 에서 내장 데이터베이스를 지원 하기때문에 h2 데이터 베이스를 mysql 모드로 사용 하여 mysql 쿼리문도 연동 되도록 계획 했다 하지만 쿼리문이 완벽하게 연동 되지는 않았다 MD5 해시 함수와 sysdate 함수가 호환 되지 않았다 하는김에 sha256 으로 해싱하고 CURR.. 2023. 5. 19.
SQL 쿼리 파라미터 바인딩 %?% 문제 LFG 서비스의 검색기능을 구현하는 중이다 무언가를 조회 할때 파라미터의 값이 정확히 일치 해야만 조회가 가능한 단순한 select문을 검색 기능에 적용하면 검색기능이 너무 불편할것이다 예를들어 스팀 멀티 게임 overcooked! 2 를 검색 하고 싶다면 cooked 만으로도 검색이 가능 하여야 한다 이 기능을 구현하기위해 Like 를 사용하여 부분 일치 조회를 사용, 바인딩될 단어의 앞 뒤에 %를 사용하여 바인딩 될 단어가 게임이름의 어느 위치에 있는지는 상관없이 조회가 가능하도록 하고 싶었다 String sql 문자열에 검색할 파라미터를 바인딩할때 %를 사용하면 '' 때문에 생기는 오류 때문에 시간을 많이 잡아먹었다 sql 문자열에 % 를 입력하는것이 아니라 바인딩할 때 % 같이 쥐어주게되면 '' .. 2023. 3. 3.