码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-04-27 17:56:31      阅读:435      评论:0      收藏:0      [点我收藏+]

标签:模块使用

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)

标签:模块使用

原文地址:http://blog.51cto.com/jacksoner/2108570

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!