在Python 2.7中使用非ASCII字符散列密码的正确方法

时间:2014-01-09 07:59:48

标签: python hash ascii md5

当此用户输入同时包含非ascii字符时,从用户输入创建密码哈希的正确和/或标准方法是什么?

我注意到当我仅使用ASCII字符生成MD5哈希时,我总是得到相同的结果。但是让我们说用户希望他/她的密码是'pöllö'(猫头鹰,英文)。

以下是一些为pöllö生成哈希的在线MD5哈希生成器的示例

http://www.md5hashgenerator.com/index.php 哈希:0cbe7f5ca855599480e4313e63e8093d

http://www.miraclesalad.com/webtools/md5.php 哈希:0f6b1c5d67c201eb1c3c37300b8be077

2 个答案:

答案 0 :(得分:0)

使用hashlib模块中的md5类

答案 1 :(得分:0)

在python中,这应该可行。

#!/usr/bin/env python
# -*- coding: utf-8 -*- 
import  hashlib

m = hashlib.md5()
m.update("pöllö")
print(m.hexdigest())

顶部的注释是一个源头声明,可以使用非ascii字符。 (src-- Working with utf-8 encoding in Python source