天天看点

urlencode/base64/sha1/md5的区别

1.urlencode

url编码主要是为了解决一些url中的一些特殊字符和歧义字符或者中文字符的传输问题,举个Python代码例子

# -*- coding: utf-8 -*-
import urllib

#/url?广州=020
query = {"广州":"020"}
url =  "/url?%s" % urllib.urlencode(query)
print url                 #编码后 /url/?%E5%B9%BF%E5%B7%9E=020
print urllib.unquote(url) #解码后 /url?广州=020
           

2.base64

理解成可逆加密算法,只能防肉眼看到真实内容,举个Python代码例子:

# -*- coding: utf-8 -*-
import base64
s = "abc"
a = base64.b64encode(s)   #编码
print a                   #编码后输出"YWJj"
print base64.b64decode(a) #解码后输出"abc"
           

3.sha1/md5

可以理解成不可逆加密算法,举个Python代码例子:

# -*- coding: utf-8 -*-
import hashlib
m = hashlib.md5()
m.update("password") #对"password"加密
print m.hexdigest()  #输出"5f4dcc3b5aa765d61d8327deb882cf99"
           

小结:

根据不同的需求选择不同的方案

继续阅读