python md5加密中文

import md5
md5.new(u‘中文‘).hexdigest()

会失败,报告ascii码不能解码0x....

原因是md5会自动将被加密的数据转成字节码,如果没有详细制定编码,则可能采用了其他编码(比如ascii),

因此要制定编码进行转码,如下:

import md5
md5.new(u‘中文‘.encode(‘utf-8‘)).hexdigest()

ref:http://bytes.com/topic/python/answers/842255-md5-hash-problems

时间: 2024-10-11 16:58:31

python md5加密中文的相关文章

Java: md5 加密中文 & 注意编码

今天使用java的md5加密一个字符串(含有部分中文),遇到问题,百思不得其解. 后面网上搜索了一下,才知道是[编码]的问题. 以前在asp中用md5加密的时候,了解 gb2312和utf-8编码下,md5加密结果不一样. 我没想到java也有类似的问题,不过解决办法倒很简单: 原来的代码: 1 alg.update(txt.getBytes(encoding)); 只需修改为: 1 2 3 4 5 6 7 8 try         {             alg.update(txt.g

Python MD5加密

简单介绍一下使用Python内置哈希库对字符串进行MD5加密的方法: 首先是导入MD5加密所需模块: import hashlib 然后创建md5对象: m = hashlib.md5() 传入需要加密的字符串进行MD5加密: m.update("str4MD5Encode") 然后就可以获取到经过MD5加密的字符串了: encodeStr = m.hexdigest() print encodeStr 输出结果为: f8fd73cf519e6f11513d505b9dd33541 当

Python md5()加密

import hashlib #示例一 hash = hashlib.md5() #将加密内容先用utf-8编码,防止"Unicode-objects must be encoding before hashing"错误 hash.update('admin'.encode('utf-8')) print(hash.hexdigest()) #示例二 data = 'admin' hash = hashlib.md5(data.encode('utf-8')) print(hash.h

nodejs md5加密中文

function md5(data) {     var Buffer = require("buffer").Buffer;     var buf = new Buffer(data);     var str = buf.toString("binary");     var crypto = require("crypto");     return crypto.createHash("md5").update(st

Python学习心得(五) random生成验证码、MD5加密、pickle与json的序列化和反序列化

# -*- coding:utf-8 -*- import random as rd #验证码 import hashlib as hsl #MD5加密 import pickle,json #pickle与json序列化 #print rd.randint(1,5) #print help(range) #print help(rd.randint) #随机生成6位验证码: code = [] for i in range(1,7): if i == rd.randint(1,6): code

python 之MD5加密

#!/usr/bin/env python # -*- coding: utf-8 -*- #实现MD5加密 #加密之后再存储密码,这样相对安全 import hashlib import shelve ''' #第一种实现 def sec_md(passwd):     hash = hashlib.md5() #创建一个MD5对象     hash.update(passwd) #用update方法,使其通过md5方式加密     return hash.hexdigest() #第二种实现

Python hashlib模块 (主要记录md5加密)

python提供了一个进行hash加密的模块:hashlib 下面主要记录下其中的md5加密方式(sha1加密一样把MD5换成sha1) [python] view plaincopyprint? >>> import hashlib >>> m = hashlib.md5() >>> m.update("Nobody inspects") >>> m.update(" the spammish repe

node crypto md5加密,并解决中文不相同的问题

在用crypto模块时碰到了加密中文不相同的问题,多谢群里面@蚂蚁指定 1:解决中文不同的问题 function md5Pay(str) { str = (new Buffer(str)).toString("binary"); var ret = crypto.createHash('md5').update(str).digest("hex"); return ret;} 2:正常字符串加密 function md5(str) { var ret = crypt

Python(九):递归+内置函数+第三方模块+md5加密+操作mysql

递归 定义:递归就是函数自己调用自己,最多可循环调用999次 内置函数 1.sorted()排序,生成的是列表 2.map()帮你循环调用函数的,保存返回值,返回的是一个list.map接受一个函数名和序列 3.filter:过滤器,帮你循环调用函数,如果函数返回false,那么就过滤掉这个值,是指从你传入这个list里面过滤 4.max()求最大值 5.sum()求和 6.round:保留几位小数 7.chr:把数字转成对应的ascii码表里对应的值 8.ord:把字母转成对应的ascii码表