예측돼도 되는 난수와 안 되는 난수
random은 게임·모의실험·표본에 맞고 seed로 재현할 수 있어. 토큰·비밀번호 재설정·CSRF처럼 공격자가 예측하면 안 되는 값은 운영체제 난수를 쓰는 secrets로 만들어.
해시는 bytes의 지문이야
문자열은 먼저 인코딩하고 보통 SHA-256을 써. MD5와 SHA-1은 충돌 저항이 필요한 보안 경계에 쓰지 마. 해시는 암호화가 아니어서 원문 비밀을 보장하지 않아.
UUID는 충돌 가능성이 매우 낮은 식별자
일반적인 무작위 식별에는 UUID4를 써. UUID1은 시간과 MAC 정보를 담아 노출할 수 있으므로 특별한 이유가 없다면 피해.