美文网首页
hashlib加密

hashlib加密

作者: 伟大的洪立 | 来源:发表于2017-11-16 21:26 被阅读0次

    根据加密是否可逆,分为单向加密和双向加密

    • 单项加密
      通过制定的算法,可以将明文->算法->密文
      不可逆。
      例如
    用户注册时的登录密码:在注册时进行加密。 不允许通过解密查看明文密码。
    
    • 双向加密
      通过制定的算法:密文-->明文
      通过制定的算法:明文->密文
      - 对称加密(使用同一套密钥【加密算法】)
      明文->加密算法A->密文
      密文->加密算法A->明文
      - 非对称加密 (使用不同的加密算法)
      明文->加密算法A->密文
      密文->加密算法B->明文

    单向加密算法

    • 数字指纹(单项散列加密算法----MD5)
    import hashlib # 引入模块
    a = hashlib.md5("admin".encode("utf-8"))  # 一定要该编码,否则报错
    a.hexdigest() # 查看加密的admin
    
    image.png
    • 加盐


      image.png
    • 加密操作

    1.确定目标字符
    passwd  = "12344"
    2. 进行md5加密操作:被加密的字符串,要进行encode编码
    p1 = hashlib.md5(passwd.encode("utf-8"))
    3. 加盐值进行混淆
    p1.updata("shuaibi".encode("utf-8"))
    4. 得到加密后的密文数据
    p2= p1.hexdigest()
    print("明文数据 : %s"  %passwd)
    print("密文数据 : %s" % p2)
    
    • 安全的hash加密算法(SHA)
      sha1
      用法与md5类似,也可以加盐值

      image.png
    • 加密步骤

    # 1.通过sha512加密算法进行加密:单向安全HASH加密算法
    _sha = hashlib.sha512(passwd.encode("utf-8"))
    # 2.添加盐值进行混淆
    _sha.update("192.168.10.110".encode("utf-8"))
    # 3.得到加密的数据
    _s = _sha.hexdigest()
    print("SHA密文数据:%s" % _s)
    

    相关文章

      网友评论

          本文标题:hashlib加密

          本文链接:https://www.haomeiwen.com/subject/idcrvxtx.html