看到问题:
![](https://www.crifan.com/files/pic/uploads/2021/03/f3b4a3bf144044e19dfe1326bf74c06f.png)
如图所示,输入传入变量的内容和传入函数值的内容是一样的,都是test.但结果不同。显示的结果中上面一个貌似是正确的。
去写了同样代码:
# Function: try investigate # python下md5加密后结果不同的问题-CSDN论坛 # https://bbs.csdn.net/topics/397318640 # Author: Crifan # Update: 20200802 import hashlib def get_md5_value(src): myMd5 = hashlib.md5() myMd5.update(src) myMd5_Digest = myMd5.hexdigest() return myMd5_Digest a = raw_input("输入一个字符串以输出它的md5加密结果:") print(get_md5_value("test")) print("type(a)=%s" % type(a)) print("a=%s" % a)
去测试,发现报语法错误:
发生异常: NameError name 'raw_input' is not defined
![](https://www.crifan.com/files/pic/uploads/2021/03/5be8a18861b04cc39932934b2c3e3f90.jpg)
发现是:
此处Python 3.8.0,没有raw_input?
在 Python3.x 中 raw_input( ) 和 input( ) 进行了整合,去除了 raw_input( ),仅保留了 input( ) 函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
去切换到此处系统有点2.7的版本:2.7.16
![](https://www.crifan.com/files/pic/uploads/2021/03/bf1bd819fc0b4606823f88edebca3572.jpg)
结果运行是:一样的
![](https://www.crifan.com/files/pic/uploads/2021/03/a6cadc0b2a0d454bb91c23f9268ab138.jpg)
转载请注明:在路上 » 【问答】python下md5加密后结果不同的问题