PHP에는 종류의 UUID를 생성하는 uniqid() 함수가 있습니다. 순진 입니다MD5를 UUID로 사용하는 것이 좋은 생각이 아닌 이유는 무엇입니까?
고유 ID에서 MD5를 생성하고 많이 감소 :
$token = md5(uniqid());
그러나 코멘트에
, someone says this : 사용의 예에서 는, 다음을 보여줍니다 값은 고유 ID이며, MD5 도메인에 중요한 (공격 가능) 협약을 제공합니다. 할 수있는 일은 깊이 끼어 들었습니다. . 정확한 접근 방식은 고유 ID를 사용하는 것입니다. 그것은 이미 non-collision을 위해 조정되었습니다.
왜 그렇습니까? MD5 해시가 고유 ID에 대해 거의 유일하다면, uniqid를 md5하는 것이 잘못 되었습니까?
실제로 UUID가 고유하기 때문에 UUID의 MD5 해시가 고유하지 않으므로 악화됩니다. –