2009-08-20 12 views
6

Nos gustaría dar a cada uno de los usuarios un alias para que podamos referirnos a ellos en discusiones mientras protegemos su identidad. Estos alias deben ser únicos.¿Cómo puedo generar automáticamente nombres falsos únicos para los usuarios?

La manera fácil sería simplemente usar una columna SERIAL, pero las entradas no son memorables. Nos gustaría utilizar nombres de personas reales para que podamos recordar los alias.

El otra manera fácil sería encontrar una lista de nombres en alguna parte, numerarlos, y usar una SERIE para buscar nombres de la lista. Cuando la lista se agote, agregue más nombres.

¿Pero hay alguna forma inteligente para asignar nombres a los nombres?

Actualmente tenemos unos 2,000 usuarios y estamos creciendo, pero dudo que alguna vez nos convierta en Google.

+0

¿Por qué quieres tener nombres y números de serie? Muchos sitios permiten que las personas elijan su propio alias. Simplemente detalle para qué es el alias y cómo quedará expuesto, cuando el usuario lo seleccione. – TheJacobTaylor

+1

¡Buena pregunta! Estos alias son para uso interno (por ejemplo, informes de resultados de investigación). Los usuarios nunca los verán. –

Respuesta

0

Back in "the day" Compuserve (¿o era AOL?) Solía ​​dar contraseñas temporales, iniciales al tener dos listas de palabras y tomar una palabra de cada lista y juntarla, para que pudiera obtener algo como EasyTomato o lo que sea. Tal vez algo así funcionaría para su base de usuarios. Si cada lista de palabras tiene 256 caracteres, eso es 65535 combinaciones únicas (y note qué tan fácil puede elegir la combinación simplemente incrementando un entero de 16 bits).

EDITAR: Bueno, no hagas un incremento recto del entero después de todo, o las primeras 256 personas obtendrán la misma primera palabra, pero la idea básica sigue siendo la correcta. Elija un número de 16 bits al azar, aún no utilizado. Los 8 bits altos son su índice en la primera lista de palabras, los 8 bits bajos son su índice en la segunda lista de palabras.

1

¿Has probado Hash functions? No estoy seguro de si están disponibles en Postgres. Pero sí, una forma de hacerlo es dejar que la función hash interna se ocupe. Ellos generarán identificaciones únicas.

7

Puede parecer una locura. Pero hay an algorithm usado en la programación de juegos para crear nombres únicos, sin significado pero fonéticamente, como Alveolar, Bilabial, Glottal, Palatal, Velar.

Cuestiones relacionadas