인코딩 하는 이유, Base64 Base32 차이: 대소문자
인코딩/디코딩하는 이유이메일, URL, JSON, XML과 같은 텍스트기반 프로토콜에서 이진 데이터(이미지, 파일, 암호화 키 등)을 그대로 사용하면 문제가 될 수 있기 때문에 사용 Base64 특징Base64가 Base32 대비 길이가 짧아서 공간 절약이 됨.Base64는 숫자, 영문자 외에 +, / 기호도 사용하는데 URL 인코딩 등에서 사용 못할 수 있으므로 URL-safe Base64도 있음. +를 -로, /를 _로 변환함 Bas32 특징대소문자 구분을 하지 않으므로 소문자로 변환 가능!예시 => email을 암호화, 인코딩 처리 후 DB에 삽입하고, 이를 디코딩하여 복호화해야되는 상황. 로직상 소문자만 사용이 가능하다면 Base64에서 Base32 방식으로 변경하고 toLowerCase() 처..
정규표현식, 비밀번호 특수문자 포함(자바, 자바스크립트, 파이썬)
비밀번호 : 문자+숫자+특수문자 가능한 정규식(22.03.02 추가) 영어 및 숫자를 허용하며, 숫자키와 관련된 특수문자만 허용한다. 일반적인 방식이다. ^[a-zA-Z\\d`~!@#$%^&*()-_=+]{8,24}$ ^[ ] : 대괄호 안의 문자로 시작한다. a-zA-Z : 영어문자 \\d : 숫자 (\d 로도 표현함, 언어마다 escape 기준이 다른듯함) 대괄호 나머지 부분 : 특수문자들 {8,24}$ : 8-24자리수를 허용하며, 중괄호 안의 문자로 끝난다($) ^[a-zA-Z0-9`~!@#$%^&*()-_=+\|[]{};:'",./?]{8,24}$ 위 식에서 숫자키 위 특수문자 외 다른 특수문자들도 허용한다. 다만, \\'\\" 등('와 "는 문자가 아니라 정규표현식의 기능처럼 인식될 수 있어서..