보통 웹개발을 하게 되면 민감한 정보는 암호화 해서 DB에 저장하게 된다. 개인적으로는 비밀번호 같이 복호화가 필요 없는건 SHA-256, 이름이나 파일명 같은 복호화가 필요한 데이터는 AES-256을 사용해서 암호화하고 있다. 너무 흔한 방식이라 대부분 같은 방식을 사용하고 있을거라고 생각된다. SHA는 해시함수라 항상 같은 길이의 결과물이 떨어져서 DB 컬럼 길이를 정할때 고민없이 정할 수 있다. 하지만 AES를 하게 되면 길이가 늘어나기 때문에 고민을 안 할수가 없다. AES는 기본적으로는 블록암호화함수라 입력값과 출력값의 길이가 동일하다. 다만, 패딩이 붙기 때문에 실제 길이보다 살짝 늘어나게 된다. 여기에 흔히 암호화 후 base64 인코딩해서 저장하는 경우가 많은데 base64까지 하게 되면 ..