今天在玩百度翻译开放平台的时候,使用了其中一个Demo,代码如下,有一段关于md5的操作没看懂,于是就百度了下,发现这是一个关于加密的模块。

#/usr/bin/env python
#coding=utf8
 
import httplib
import md5
import urllib
import random

appid = '**************' #你的appid
secretKey = '***************' #你的密钥

 
httpClient = None
myurl = '/api/trans/vip/translate'
q = 'apple'
fromLang = 'en'
toLang = 'zh'
salt = random.randint(32768, 65536)

sign = appid+q+str(salt)+secretKey
m1 = md5.new()
m1.update(sign)
sign = m1.hexdigest()
myurl = myurl+'?appid='+appid+'&q='+urllib.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
 
try:
    httpClient = httplib.HTTPConnection('api.fanyi.baidu.com')
    print type(httpClient)
    httpClient.request('GET', myurl)
 
    #response是HTTPResponse对象
    response = httpClient.getresponse()
    response = u'response'
    print response.read()
except Exception, e:
    print e
finally:
    if httpClient:
        httpClient.close()

        md5是摘要算法种的一种。摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。

        经过分析得出下面的注释

m1 = md5.new()  #创造一个md5对象。

m1.update(sign)   #添加加密对象sign。

sign = m1.hexdigest()  #进行加密

至此,关于md5加密的内容就结束了。

关于百度的这个demo,翻译返回的语言是中文的话,会显示为Unicode编码,我现在也没想到什么好的方法。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐