Лучший способ получить достаточно случайный ключ для записей MYSQL - PullRequest
0 голосов
/ 05 января 2011

Мне нужно сгенерировать достаточно случайный уникальный ключ для таблицы. Это должно быть что-то вроде GUID для MYSQL. Я пробовал UUID, но похоже, что только первые несколько символов на самом деле случайные - остальные одинаковые каждый раз, когда я их вставляю.

По сути, желательно, чтобы это ключевое поле было очень трудно угадать, даже если у вас уже есть одно известное значение в столбце.

Каков наилучший способ сделать это и как мне настроить тип данных поля для эффективного хранения значения?

Спасибо, Стив

Ответы [ 2 ]

7 голосов
/ 05 января 2011

Как насчет поля автонумерации, имеющего 2-е поле, это md5 для id + секретная соль. Всегда используйте хешированную версию для ссылок и т. Д.

1 голос
/ 05 января 2011

вы можете попробовать что-то вроде этого

 sha2(UUID(), 224) //this may be only MySQL 5.5+
 SHA1(UUID())      //for old version
...