hash = pbkdf2(password, salt, iterations, digest=self.digest)
File "/usr/local/lib/python2.7/site-packages/Django-1.8.7-py2.7.egg/django/utils/crypto.py", line 139, in pbkdf2
digest().name, password, salt, iterations, dklen)
ValueError: unsupported hash type
爆出这个问题其实很奇怪,因为最终查到的问题点在于数据库的密码错误或者是密码是空,总之就是程序连接数据库时使用的密码不正确导致的,按照这个点去排查就行了。
我观念里觉得,数据库的密码不正确,应该显示出来的报错信息是连接数据库失败才对,但现在的报错信息不是,却还是因为数据库的密码不对导致的。
最近在做项目密码加密的工作,需要拿着密文去某个库系统(暂时称为A)解出明文,拿明文去连数据库。而问题的原因在于A不能同时有多进程存在。因为django的每一个请求打进来,涉及到数据的都会去连一下数据库,也就是要先去解析一下密文,而此时的A是不允许这么频繁的开关进程,所以导致解析密文不成功,就出现了上面的不按常理出牌的报错信息(有的时候,报错信息跟真正的错误点,一点关联都没有,这种就很操蛋了,就像那句话:我消灭你,与你无关),好在我能确定问题点在哪。