클라이언트와 나는 (데이터베이스에 의해 생성 된) 숫자 사용자 ID로부터 사용자 이름을 생성하는 방법에 대해 브레인 스토밍했다. 핵심 요구 사항은 사용자 이름이 고유하다는 것입니다.정수를 사용자 이름에 매핑하기
가장 확실한 해결책은 사용자 이름과 동일한 사용자 이름을 설정하는 것입니다. 그러나 중요한 요구 사항은 사용자 이름이 "분명히 순차적"이 아니기 때문에 사용자 ID가 4000400140024003 일 수는 있지만 클라이언트는 사용자가 사용자 이름에서 해당 진행을 볼 수 없도록합니다. 숫자가 결국 사용됩니다.
사용자 이름의 길이가 작기 때문에 바람직합니다. 즉, 사용자 ID가 길이가 커지는 데 필요한 지점에 도달 할 때까지 길이가 증가하지 않는 것이 좋습니다.
제안 사항?
편집 : 답변의 대부분은 메커니즘의 보안을 중요한 건데요 것으로 가정 한 가 없습니다. 클라이언트는 사용자 이름에서 "상위"구성원이 누구인지 분명하게 알기를 원하지 않습니다.
사용자 이름의 주요 목표는 기억하기 쉽기 때문에 긴 해시는 좋지 않습니다.
영숫자는 괜찮지 만 클라이언트는 잠재적으로 "잘못된"사용자 이름을 할당하는 것에 대해 우려하고 있습니다. fpq321은 괜찮을 것이고, ass123은 그렇지 않을 것입니다. 이것들은 사용자의 공개 "핸들"이 될 것입니다.
왜 순차적 일 수 없습니까? 그들이 추측 당하지 않도록하려면? – RossFabricant
나는 심리적 인 문제보다는 보안 문제가 덜하다고 생각한다; 그들은 사용자가 더 높고 (따라서 더 나쁜) 사용자 이름을 가지기 때문에 사용자가 덜 중요하거나 늦게 느끼길 바라지 않습니다. – justkevin