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
    
  • 相关阅读:
    龇牙咧嘴过中秋
    构建XML的架构文件XSD
    见龙卸甲
    陈忠和哭了
    山本五十六
    XML文件用做资源
    洗牙洗鼻洗屁股
    MS SQL导入平面文件源
    残奥会开幕式
    转身十年
  • 原文地址:https://www.cnblogs.com/vercont/p/10210168.html
Copyright © 2011-2022 走看看