python3 TypeError:Unicode-objects must be encode before hashing

原创 2018年04月16日 09:37:20

python3环境下,利用hash值对url进行 md5加密,时报错TypeError:Unicode-objects must be encode before hashing

原因是:

python3跟python2区别:python3下字符串为Unicode类型,而hash传递时需要的是utf-8类型,因此,需要类型转换

调用函数时,将url进行类型转换

def get_md5(url):

m = hashlib.md5()

m.update(url)

return m.hexdigest()


if __name__ =='__main__':

print(get_md5("http://jobbole.com".encode("utf-8"))) 

关于python2.7的md5加密遇到的问题(TypeError: Unicode-objects must be encoded before hashing)

import hashlib import sys def md5s(): m=hashlib.md5() strs=sys.argv[1] m.update(strs.en...
  • u012087740
  • u012087740
  • 2015-09-14 15:18:29
  • 11643

Python3.2 --md5

python3.x已经把md5 module移除了。要想用md5得用hashlib module,以下是帮助手册中给的标准调用 import hashlib m = hashlib.md5(...
  • Beiji_Nanji
  • Beiji_Nanji
  • 2012-04-22 16:48:08
  • 18446

Unicode-objects must be encoded before hashing 错误解决办法

提交注册用户数据后出来这个,错误原因是update()必须指定要加密的字符串的字符编码s1 = sha1() s1.update(upwd.encode("utf8")) # 指...
  • qq_27193479
  • qq_27193479
  • 2018-03-15 02:31:58
  • 96

hashlib —— Python 的 md5 和 sha1 加密

python的md5和sha1加密 0. md5 与 sha1 MD5 的全称是 Message-Digest Algorithm 5(信息-摘要算法)。128 位长度。目前 MD5 是一种...
  • lanchunhui
  • lanchunhui
  • 2017-05-07 21:43:26
  • 1248

TypeError: Unicode-objects must be encoded before hashing

[python] view plain copy import hashlib   import sys      def vic_md5():       m=...
  • Com_ma
  • Com_ma
  • 2017-12-08 19:38:33
  • 111

处理错误TypeError: initial_value must be unicode or None, not str

StringIO在处理字符串时会报如下错误TypeError: initial_value must be unicode or None, not str这是因为python版本的问题,对应版本如下...
  • talkxin
  • talkxin
  • 2016-02-05 15:35:56
  • 3668

Python 3中套接字编程中遇到TypeError: 'str' does not support the buffer interface的解决办法

目前正在学习python,使用的工具为python3.2.3。发现3x版本和2x版本有些差异,在套接字编程时,困扰了我很久,先将python核心编程书中的例子 代码如下: 服务器端: # E...
  • chuanchuan608
  • chuanchuan608
  • 2014-01-06 14:12:46
  • 61012

python3-网络编程-TypeError: send() argument 1 must be bytes or buffer, not str异常

异常发生情况: 当我照着书中的例子qia 异常解决方法
  • liwenjie001
  • liwenjie001
  • 2014-04-12 15:39:41
  • 2056

【Python配置】lmdb使用

LMDB(Lighting Memory-Mapped Database)内存映射数据库,数据格式就像是dict类型,由key-value组成。一个LMDB数据库应该包括两个文件:1.data(数据)...
  • TwT520Ly
  • TwT520Ly
  • 2018-02-02 17:35:18
  • 168
收藏助手
不良信息举报
您举报文章:python3 TypeError:Unicode-objects must be encode before hashing
举报原因:
原因补充:

(最多只允许输入30个字)