2017-09-10 13 views
0

Slim 프레임 워크 용으로 다운로드하여 사용할 수있는 Packagist의 신뢰할 수있는 uuid 패키지는 무엇입니까?ramsey/uuid - 이름 기반 해시 검증 우리가 uuid에 할당 한 이름을 가짐

이상적으로는 유형을 해시 할 수있는 uuid를 사용합니다. PHP에서 문자열로. 그 uuid에 'php'가 있는지 확인할 수 있습니다.

편집 :

가 어떻게이 name-based hashed이름을 우리는이 UUID에 할당을 가지고 유효성을 검사 할 수 있습니다? 예를 들어

// Generate a version 3 (name-based and hashed with MD5) UUID object 
$uuid3 = Uuid::uuid3(Uuid::NAMESPACE_DNS, 'php.net'); 
$uuid = $uuid3->toString(); 

:

if ($uuid3->getName($uuid) === 'php.net') { 
// do something 
} 

이 가능합니까?

답변

2

가장 UUID 패키지는 https://github.com/ramsey/uuid

는 그냥 설치 composer require ramsey/uuid를 사용합니다.

이상적으로는 유형을 해싱 할 수 있습니다. PHP에서 문자열로. 그 uuid에 'php'가 있는지 확인할 수 있습니다.

나는 이것을 이해하지 못한다. UUID는 고유 한 문자열을 만듭니다. Wikipedia :

유니버설 고유 식별자 (UUID)는 컴퓨터 시스템에서 정보를 식별하는 데 사용되는 128 비트 숫자입니다. 전역 고유 식별자 (GUID)라는 용어도 사용됩니다. 표준 방법에 따라 발생하면

는 UUID를 그들에게

편집 발생 당사자 간의 중앙 등록 기관 또는 배위에 독특함에 대한 의존하지 않고, 고유 한 실제적인 목적을위한 것이다. 다시 해시와 비교해야하므로

, 당신의 새로운 질문 ...

당신은 해시를 취소 할 수 없습니다 대답합니다.

$uuid = Uuid::uuid3(Uuid::NAMESPACE_DNS, 'php.net')->toString(); 

$domainFromUser = 'example.com'; 
$userUuid = Uuid::uuid3(Uuid::NAMESPACE_DNS, $domainFromUser)->toString(); 

if ($uuid === $userUuid) { 
    // user provided the right domain 
} 
+0

덕분에 롭은'UUID를 고유 string'을 생성 - 다음'램지/uuid' 또는()'PHP는'uniqid 이외의 UUID 패키지 데의 advantaces 무엇인가? – laukok

+1

uniqid()는 타임 스탬프 iirc이므로 uniqid()를 동시에 호출하는 두 서버가 동일한 결과를 얻습니다. –

+0

알았는데. Rob 감사합니다! – laukok