zoukankan      html  css  js  c++  java
  • python(6)- hashlib模块

    加密算法: 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
  • 相关阅读:
    Java 泛型初识
    Java 设计模式之装饰模式
    深入理解Java 虚拟机 之垃圾收集器与内存分配策略
    (转)MySQL字段类型
    Eclipse 远程调试
    深入理解Java 虚拟机 之自动内存管理
    JAVA对象向上转型和向下转型
    JavaSE(二)之变量与常量、运算符、类型转换
    Maven(四)之archetype插件的使用
    Hibernate(五)之一对多&多对一映射关系
  • 原文地址:https://www.cnblogs.com/huangxm/p/5274302.html
Copyright © 2011-2022 走看看