當前位置:成語大全網 - 新華字典 - 這個php方法怎麽改寫成 python

這個php方法怎麽改寫成 python

OK,首先我不懂PHP,但是看妳補充的描述大致能明白。

其次,如果這裏的$_GET可以理解為字典,對於$nonce = $_GET["nonce"],[]中的nonce是屬性,而$nonce是屬性的值的話,那麽我下面寫的應該問題不大。

第三,private function,這個應該是寫在類裏的吧,python裏除非妳通過對方法和屬性的名字進行處理,否則是沒有私有的概念的。

代碼:

import hashlib

def checkSignature(_GET): #如果不傳參的話,也可以用全局變量,但不推薦

signature = _GET["signature"]

timestamp = _GET["timestamp"]

nonce = _GET["nonce"]

token = TOKEN # 這個不清楚是什麽

tmpArr = [token, timestamp, nonce]

tmpArr.sort()

tmpStr = hashlib.sha1(''.join(tmpArr)) # ''.join ,前面是個空字符,不是空白字符,"",引號中間沒有任何字符。

# 這裏有個問題,我對妳原來的php下sha1後的字符串什麽樣不了解。python的sha1處理後會返回壹個sha1對象,如何從這個對象獲得字符串,可以用兩個方法:digest(),hexdigest()。digest我不太了解,hexdigest返回壹個每壹個字符都是16進制字符的字符串。

if tmpStr.hexdigest() == signature:

return ture

else:

return false

最後,註意統壹縮緊方式,only space or only tab.