在Flickr API文档中,您需要找到字符串的MD5总和以生成[api_sig]
值。
如何从字符串生成MD5和?
Flickr的示例:
串: 000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite
MD5总和: a02506b31c1cd46c2e0b6380fb94eb3d
在Flickr API文档中,您需要找到字符串的MD5总和以生成[api_sig]
值。
如何从字符串生成MD5和?
Flickr的示例:
串: 000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite
MD5总和: a02506b31c1cd46c2e0b6380fb94eb3d
Answers:
对于Python 2.x,请使用python的hashlib
import hashlib
m = hashlib.md5()
m.update("000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite")
print m.hexdigest()
输出: a02506b31c1cd46c2e0b6380fb94eb3d
m.digest_size
在此代码的顶部执行操作,内部摘要已为16个字节。
m.hexdigest()[:16]
您可以执行以下操作:
Python 2.x
import hashlib
print hashlib.md5("whatever your string is").hexdigest()
Python 3.x
import hashlib
print(hashlib.md5("whatever your string is".encode('utf-8')).hexdigest())
但是,在这种情况下,最好使用这个有用的Python模块与Flickr API进行交互:
...将为您处理身份验证。
hashlib的官方文档
""
)是unicode,必须编码为字节串。python2中的字符串可以解释为btyestring或unicode字符串,而传递str(""
)字符串则解释为字节字符串。如果字符串包含Unicode字符,则将引发Exception。编码字节串将使ascii字符保持不变,并正确转换unicode
您可以尝试
#python3
import hashlib
rawdata = "put your data here"
sha = hashlib.sha256(str(rawdata).encode("utf-8")).hexdigest() #For Sha256 hash
print(sha)
mdpass = hashlib.md5(str(sha).encode("utf-8")).hexdigest() #For MD5 hash
print(mdpass)
hashlib.md5().update('your string').hexdigest()
,因为update()
返回None ,它将不起作用。如果您需要单线解决方案,请使用Mark Longair的答案。