python(6)- hashlib模块
2024-08-26 13:51:29
加密算法: SHA1,SHA224, SHA256, SHA384, SHA512 , MD5
1. md5
import hashlib m = hashlib.md5()
m.update(b"Hello") #加密
m.update(b"It's me") #再加密一句
print(m.digest()) #二进制
print(m.hexdigest()) #16进制
2.SHA1
#SHA1
m = hashlib.sha1()
m.update(b"Hello") #加密
m.update(b"It's me") #再加密一句
print(m.digest()) #二进制
print(m.hexdigest()) #16进制
3. SHA512
#SHA512
m = hashlib.sha512()
m.update(b"Hello") #加密
m.update(b"It's me") #再加密一句
print(m.digest()) #二进制
print(m.hexdigest()) #16进制 #其它加密方法类似
4. 如果你觉得上面的方法还不够屌,那么还有一个hmac模块
import hmac
h = hmac.new(b'secret_key') #生成key
h.update(b'hello') #加密
print(h.hexdigest())
下面是hmac模块使用案例
#下面是一个简单的C/S程序,使用了hmac签名 # 客户端 (signs the data)
import xmlrpclib,hmac,hashlib
key = "mysecret" server = xmlrpclib.ServerProxy("http://localhost:8888")
name = "Homer"
signature = hmac.new(key,name).hexdigest()
print server.sayHello(signature,name) # 服务器 (verifies the signature)
import SimpleXMLRPCServer,hmac,hashlib
key = "mysecret" class MyClass:
def sayHello(self, signature, name):
if hmac.new(key,name).hexdigest() != signature:
return "Wrong signature ! You're a hacker !"
else:
return u"Hello, %s !" % name server_object = MyClass()
server = SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost", 8888)) # (2)
server.register_instance(server_object) # (3)
print "Listening on port 8888"
server.serve_forever()
#该代码片段来自于: http://www.sharejs.com/codes/python/1880
最新文章
- [原]关于flash GPU渲染的一些不完全测试(wmode,ie,chrome)
- 【jacob word】使用jacob,合并多个word为一个word文件
- 定义提示符 PS1 PS4
- Android Manifest.xml详解
- 51nod动态规划-----矩阵取数
- discuz3.2x增加邮箱验证功能
- Access一些常用的SQL语句
- Omi教程-通讯通讯攻略大全
- spring+mybatis之声明式事务管理初识(小实例)
- 使用 ASP.NET Core MVC 创建 Web API(四)
- 时序扩展的UML状态图的测试用例生成研究
- Cent OS安装使用ffmpeg(完整版)
- 用JQuery操作元素的style属性
- 2018/11/5 每日分析-test
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (十)
- Internet History, Technology and Security (Week3)
- python3学习笔记.5.打包发布
- 企业搜索引擎开发之连接器connector(十七)
- 数据可视化——Matplotlib(1)
- autoconf / automake工具使用介绍