Google app engine 数据存储密钥的ID部分使用非英语字符安全吗?

Google app engine 数据存储密钥的ID部分使用非英语字符安全吗?,google-app-engine,google-cloud-datastore,app-engine-ndb,Google App Engine,Google Cloud Datastore,App Engine Ndb,我想让我的用户选择在他们的用户名中包含非英语字符 为了简单起见(并避免细微的bug),我想使用他们的用户名作为他们实体的ndb密钥的id部分。我的问题是,这是一种安全的方法吗 我找不到有关GAE数据存储是否支持非英语字符作为密钥id部分的信息。直接从马口中获得的源代码(类): 种类和字符串ID不得为空,且长度不得超过500字节(UTF-8编码后,如果作为Python unicode对象提供) 如果使用UTF-8,您应该能够使用任何您想要的语言。此外,从这一点: 下一个组件是ID(int64)

我想让我的用户选择在他们的用户名中包含非英语字符

为了简单起见(并避免细微的bug),我想使用他们的用户名作为他们实体的ndb密钥的id部分。我的问题是,这是一种安全的方法吗


我找不到有关GAE数据存储是否支持非英语字符作为密钥id部分的信息。

直接从马口中获得的源代码(类):

  • 种类和字符串ID不得为空,且长度不得超过500字节(UTF-8编码后,如果作为Python unicode对象提供)
如果使用UTF-8,您应该能够使用任何您想要的语言。此外,从这一点:

下一个组件是ID(int64)或键名(str)

页面顶部定义的“str”表示接受非ASCII字符


p、 使用用户名作为唯一ID有一些缺点;请参阅(忽略它的SQL方面)。

回答得很好—OmegaDirective,非常深入,非常感谢!)是的,你可以,但在这种特殊情况下你不应该,因为你不能修改ID(用户名)