1. 程式人生 > >模塊使用(md5加密、StringIO、JSON)

模塊使用(md5加密、StringIO、JSON)

模塊使用

md5加密
        在python3的標準庫中,已經移除了md5,而關於hash加密算法都放在hashlib這個標準庫中,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等

在英語中hex有十六進制的意思,hexdigest()因此該方法是將hash中的數據轉換成數據,其中只包含十六進制的數字
使用encode 防止對中文加密時出現亂碼
方式一:對123456ling加密
import hashlib
m3 = hashlib.md5()
src = bytes("123456ling", encoding="utf-8")
m3.update(src)

print(m3.hexdigest())

方式二:123456 這個是隨機數,通過加密後,再對ling加密,防止被破解
import hashlib
m3 = hashlib.md5("123456".encode("utf-8"))
src = bytes("ling", encoding="utf-8")
m3.update(src)
print(m3.hexdigest())

方式三:
技術分享圖片

StringIO使用

作用:經常對文件進行IO的讀寫,現將放入內存中,提高性能
StringIO經常被用來作字符串的緩存,因為StringIO的一些接口和文件操作是一致的,也就是說同樣的代碼,可以同時當成文件操作或者StringIO操作

from io import StringIO, BytesIO

stringIO = StringIO()
stringIO.write("hello world\n") #寫入內存中
stringIO.write("lalalalla, wo shi mai bao de xiao hang jia")
print(stringIO.getvalue()) #查看值
stringIO.truncate(0) #截斷清空
print(stringIO.getvalue())

JSON

        json模塊提供了一種很簡單的方式來編碼和解碼json格式的數據,其中兩個主要的函數是json.dumps()和json.loads(),當然與之對應的還要json.dump()和json.load()函數

方法:

loads 把字符串-》python對象
dumps 把python對象-》 字符串
load 把文件-》 python對象
dump 把python對象 寫入文件

方法一:json.dumps()

將一個Python數據結構轉化為json:

import json
data ={
   ‘name‘: ‘thinkgamer‘,
   ‘age‘: 23,
   ‘sex‘: ‘men‘
}
print(json.dumps(data))
print(type(json.dumps(data)))  
print(type(data))

結果:
import json
data ={
   ‘name‘: ‘thinkgamer‘,
   ‘age‘: 23,
   ‘sex‘: ‘men‘
}
print(json.dumps(data))
print(type(json.dumps(data)))  
print(type(data))

方法二:json.loads()

import json
data ={
   ‘name‘: ‘thinkgamer‘,
   ‘age‘: 23,
   ‘sex‘: ‘men‘
}
str_tmp=(json.dumps(data))
print(json.loads(str_tmp))
print(type(json.loads(str_tmp)))

結果:
{‘name‘: ‘thinkgamer‘, ‘age‘: 23, ‘sex‘: ‘men‘}
<class ‘dict‘>

方式三:json.dump() 將對象寫入文件
import json
data ={
‘name‘: ‘thinkgamer‘,
‘age‘: 23,
‘sex‘: ‘men‘
}
with open(‘user.txt‘,‘w‘) as fd:
json.dump(data,fd)

方式四:json.load() 從文件中讀取
import json
data ={
‘name‘: ‘thinkgamer‘,
‘age‘: 23,
‘sex‘: ‘men‘
}
with open(‘user.txt‘) as fd:
date_json=json.load(fd)
print(date_json)
print(type(date_json))

結果:
{‘name‘: ‘thinkgamer‘, ‘age‘: 23, ‘sex‘: ‘men‘}
<class ‘dict‘>

python2的環境下:
In [143]: import json

In [144]: a = dict(hello="你好")

In [145]: print(a)
{‘hello‘: ‘\xe4\xbd\xa0\xe5\xa5\xbd‘}

In [146]: print(a["hello"])
你好

In [147]: print(str(a))
{‘hello‘: ‘\xe4\xbd\xa0\xe5\xa5\xbd‘}

In [148]: print(json.dumps(a, ensure_ascii=False))
{"hello": "你好"}

模塊使用(md5加密、StringIO、JSON)