2009-02-19 70 views

回答

6

他们很安全。有关所有可能的输出格式,请参阅here。所有这些都是可读的字符串或整数。

7

总是 urlencode将被放入URL中的数据是一种很好的做法。那么你不需要关心UUID的具体情况,或者将来会不会改变。

+0

这取决于'urlencode'的含义,因为URL的不同部分的编码不同 - 请参阅http://www.lunatech-research.com/archives/2009/02/03/what -every-web-developer-must-know-about-url-encoding – 2011-11-23 09:03:23

0

我主要使用GUID作为主键,并且经常需要将它们作为URL参数传递。

十六进制形式,破折号和额外的字符似乎对我来说是不必要的长。但我也喜欢表示十六进制数字的字符串非常安全,因为它们不包含可能导致URL问题的字符。

而不是十六进制,我使用一个URL安全的base64字符串。以下是执行此操作的一些Python代码。它不符合任何UUID/GUID规范(除了具有所需的随机性之外)。

import base64 
import uuid 

# get a UUID - URL safe, Base64 
def get_a_Uuid(): 
    r_uuid = base64.urlsafe_b64encode(uuid.uuid4().bytes) 
    return r_uuid.replace('=', '') 
+1

你可以用uuid.uuid4()或多或少地做同样的事情。hex十六进制 – Craig552uk 2015-10-22 09:31:14

相关问题