2014-04-15 47 views
0

我是Flask的新手,剛剛通過製作基本應用程序來解決問題,但我在密碼存儲方面遇到了問題。我使用postgresql和psycopg2與this bcrypt軟件包。如果我完全不保護密碼或者我使用SHA256時一切正常,但是當我嘗試使用bcrypt時,出現500服務器錯誤。這裏是我的代碼:當我嘗試對密碼進行加密或敲擊密碼時,我收到了500個服務器錯誤

uname = request.form['uname'] 
passwd = bcrypt.hashpw(request.form['passwd'], bcrypt.gensalt()) 
conn = psycopg2.connect("dbname=flask user=postgres host=127.0.0.1 password=mypassword") 
cur = conn.cursor() 
cur.execute("INSERT INTO users (uname, passwd) VALUES (%s, %s)", (uname, passwd)) 
conn.commit() 
cur.close() 
conn.close() 

有誰知道我爲什麼會遇到這個問題? bcrypt可能會花費很長時間嗎?在我收回錯誤之前,似乎沒有花太長時間加載,但是仍然可以嗎?我的主要目標是使用bcrypt,但我將它換成scrypt只是爲了檢查,而且也沒有效果。

+0

嘗試通過'Debug = True'運行服務器,然後您可以看到發生了什麼 – Liteye

+0

由於Liteye說,使用Debug = True運行服務器。您將得到一個調用堆棧,其中還包括調用堆棧中每個級別的解釋器。這是燒瓶最有用的部分之一。 – AlexLordThorsen

+0

無法確定錯誤的具體信息,但是更多的Flask優化方法可能是使用Flask-Bcrypt擴展。 –

回答

0

我知道這是一個老問題,但我希望遇到同樣問題的人能以這種方式更快地得到幫助。

我們有這個問題,debug = true告訴我們什麼是錯的。 bcrypt的編碼不正確。這應該解決它。

passwd = bcrypt.hashpw(str(request.form['passwd']), bcrypt.gensalt()) 
相關問題