django标志项目带有一些额外的值

时间:2011-06-09 12:31:53

标签: python django authentication digital-signature

我最近在这里发布了一个问题,现在需要另外一个答案,基于需要根据额外的参数进行的更改。

之前我有以下内容给了我一个正确的签名。

signature = hashlib.sha1("i=myusername&v=%s&t=7087db23de5ef07b5723" % timestamp)

现在我需要在%3D 代表 =

问题是,只需添加下面的字符串,django正在寻找另一个值。

&p=myvar%3Dmyvalue

我尝试了几个版本,似乎每次都得到错误的值。 签名不是我的力量,谢谢你的帮助。

signature = hashlib.sha1(u'i=myusername&p=myvar%s%s&v=%s&t=7087db23de5ef07b5723' % ('%3D', myvalue, timestamp))

1 个答案:

答案 0 :(得分:3)

在格式字符串中使用%%获取%符号

'&p=myvar%%3D%s' % 'value'

我希望我理解你。

您也可以使用urllib.urlencode

>>>urllib.urlencode({'i':'fundedbyme', 'p':'myvar=%s' % myvalue})
'i=fundedbyme&p=myvar%3Dmyvalue'