Как генерируется ключ хранилища данных GAE?

Это случайное значение? Или пользователь может извлечь некоторые данные из этого значения?

Ответ 1

ключ хранилища данных состоит из вида, имени строки или целочисленного идентификатора и необязательного пути родительского объекта (docs). все они указаны пользователем, за исключением id, поэтому я предполагаю, что вы спрашиваете.

ids распределяются на основе простых счетчиков целых чисел, которые начинаются с 0. В настоящее время в данном приложении все корневые объекты имеют один счетчик, а сущности, не являющиеся root, имеют счетчик в своей группе сущностей. в долгосрочной перспективе, идентификаторы от данного счетчика будут увеличиваться, но серверы хранилищ данных сохраняют идентификаторы в партиях, поэтому вы часто увидите, что ids увеличиваются и уменьшаются в краткосрочной перспективе.

подробнее: http://groups.google.com/group/google-appengine/browse_thread/thread/dec83c2dbd9542e4#f495648c988d758c

(что касается секретного вопроса, ни одна из функций защиты движка не зависит от сохранения этого механизма выделения идентификатора. Возможно, вам стоит прочитать, почему безопасность через неясность обычно считается плохим. P)