模块使用(md5加密StringIOJSON)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块使用(md5加密StringIOJSON)相关的知识,希望对你有一定的参考价值。

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加密StringIOJSON)的主要内容,如果未能解决你的问题,请参考以下文章

新手学习python加密模块(MD5加密)

Node.js 内置模块crypto加密模块md5和shax

nodeJS之crypto模块md5和Hmac加密

前端加密MD5

怎样可以把微信的小程序加密

python的加密方式