Strings must be encoded before hashing

当我们将字符串传递给 hash 算法时,会出现 “TypeError: Strings must be encoded before hashing”。

解决错误,使用encode()

import hashlib, time

def get_token(username, token_id):
timestamp = int(time.time())
md5_format_str = "%s\n%s\n%s" % (username, timestamp, token_id)
obj = hashlib.md5()
obj.update(md5_format_str.encode())
print("token format:[%s]" % md5_format_str)
print("token :[%s]" % obj.hexdigest())
return obj.hexdigest()[10:17], timestamp

Strings must be encoded before hashing的更多相关文章

  1. hashlib使用时出现: Unicode-objects must be encoded before hashing

    # hashlib.md5(data)函数中,data参数的类型应该是bytes# hash前必须把数据转换成bytes类型>>> from hashlib import md5 F ...

  2. python3 TypeError: Unicode-objects must be encoded before hashing

    python3下,利用hash值对字符串进行md5加密时报错:TypeError: Unicode-objects must be encoded before hashing 原因是:python3 ...

  3. django注册在使用hashlib对密码加密时报Unicode-objects must be encoded before hashing

    在使用sh1等hashlib方法进行加密时报:Unicode-objects must be encoded before hashing 解决办法:对要加密的字符串指定编码格式 解决之前: s1=s ...

  4. Python hashlib Unicode-objects must be encoded before hashing

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

  5. python 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.encode("ut ...

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

    https://blog.csdn.net/u012087740/article/details/48439559 import hashlib import sys def md5s(): m=ha ...

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

    提交注册用户数据后出来这个,错误原因是update()必须指定要加密的字符串的字符编码 #encryptions1 = sha1()s1.update(upwd.encode("utf8&q ...

  8. md5加密报错解决方法(TypeError: Unicode-objects must be encoded before hashing)

    update()必须指定要加密的字符串的字符编码

  9. python学习笔记之常用模块(第五天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

  10. Python 3 加密简介

    导读 Python 3 的标准库中是没多少用来解决加密的,不过却有用于处理哈希的库.在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyCrypto 和 cryptography ...

随机推荐

  1. Checkmk监控工具使用手册

    其实用法Checkmk官网文档很全面:https://docs.checkmk.com/latest/en/intro_setup.html 顺着beginner's guide章节看完基本就能上手, ...

  2. Maven项目的创建教程

    1.创建Maven项目 首先File->New新建一个Maven项目,选择相应地址保存,点击CREATE完成新建 2.改成Web项目 右键选择Add Framework Support... 再 ...

  3. 141. Linked List Cycle (Easy)

    ps:能力有限,若有错误及纰漏欢迎指正.交流 Linked List Cycle (Easy) https://leetcode.cn/problems/linked-list-cycle/descr ...

  4. #HDU2255#奔小康赚大钱(KM模板题)

    Problem Description传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子.这可是一件大事,关系到人民的住房问题啊.村里共有n间房间,刚好有n家老百姓,考虑 ...

  5. Spring事务的底层原理

    1. 划分处理单元--IOC 由于spring解决的问题是对单个数据库进行局部事务处理的,具体的实现首相用spring 中的IOC划分了事务处理单元.并且将对事务的各种配置放到了ioc容器中(设置事务 ...

  6. 罗技GHUB怎么写入板载内存

    本文以自用罗技MX518复刻版鼠标作为例子,让大家怎么学会把logitech G HUB的设置写入鼠标板载内存,并且一键切换各组板载设置. 首先点击最下方的启用,让软件设置鼠标各项设定 启用软件的设定 ...

  7. 100 多个常用免费 API 接口推荐与分享,收藏备用

    写在最前 各类免费 API 接口整理,主要是 APISpace 上和其他各类开放平台上的一些,有需要的赶紧收藏备用.   高德地图 标准图层 TileLayer 卫星图层 TileLayer.Sate ...

  8. 使用nw.js打包以后的web项目 发布客户端

    一.下载nw.js 直接前往官网下载即可 https://nwjs.io/downloads/ 二.封装最简单的客户端 nw.js下载完成后,在任意位置新建文件夹,例如nwtest,然后在文件夹中新建 ...

  9. SpringIOC注入

    在lagou的训练营的学习历程 SpringIOC实例化Bean的三种方式:1.使用无参构造器2.静态方法3.实例化方法.他要先实例化创建类(和2的区别),再调用. XML注入属性DI依赖注入,根据实 ...

  10. 1 Android开发书籍

    不管你是Android菜鸟还是Android高手,一定能够找到一本适合自己阅读的书籍.下面为大家推荐8本书. <Android进阶之光> <Android进阶之光>详细并深入讲 ...