zoukankan      html  css  js  c++  java
  • Python hashlib Unicode-objects must be encoded before hashing

    Python2中没有这个问题
    python3中
    hashlib.md5(data)函数中data 参数的类型应该是bytes
    hash前必须把数据转换成bytes类型

    Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
    [GCC 5.4.0 20160609] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from hashlib import md5
    >>> name = md5("hello")
    >>> print(name.hexdigest())
    5d41402abc4b2a76b9719d911017c592
    
    Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
    [GCC 5.4.0 20160609] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from hashlib import md5
    >>> name = md5("hello")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: Unicode-objects must be encoded before hashing
    >>> name = md5("hello".encode("utf-8"))
    >>> print(name.hexdigest())
    5d41402abc4b2a76b9719d911017c592
    
  • 相关阅读:
    2021.1.20 学习总结
    2021.1.19 学习总结
    2021.1.18 学习总结
    学习总结13
    学习总结12
    学习总结11
    学习总结10
    ASP.NET网站开发步骤
    学习总结9
    阅读笔记4
  • 原文地址:https://www.cnblogs.com/vercont/p/10210168.html
Copyright © 2011-2022 走看看