在python我可以用下面的代碼連接PostgreSQL數據庫:用py-PostgreSQL用於加密的密碼
db = postgresql.open(「pq://$user:[email protected]$host:$port/$dbname」)
但在上述行我必須輸入明文密碼,然後py-postgresql
會出現亂碼它來比較將散列值存儲在PostgreSQL數據庫中。如果我想自己使用由MD5
散列的密碼,這意味着我不希望py-postgresql爲我做散列。我該怎麼做?我試圖修改py-postgresql
的源代碼,但我找不到散列在哪裏發生。然後我發現在py-postgresql
的設置中我可以啓用SSL模式。有人能給我一個關於如何設置它的簡單例子嗎?
親切的問候。
散列發生在服務器本身內部,並將散列與存儲的散列進行比較。因此密碼在離開應用程序併到達服務器之前不會被散列。這是合乎邏輯的,就好像你可以發送散列代替那麼這意味着它會接受散列,因此所有的密碼都以純文本形式存儲(本質上),就好像它們被下載一樣,它們可以用來訪問服務器。 –
你想通過只在代碼中存儲散列來完成什麼?如果哈希是您需要進行身份驗證的全部內容,那麼它就是[純文本equilavent](http://srp.stanford.edu/issues.html),可以讀取它的人對您的數據庫擁有與某人一樣多的訪問權限誰可以讀取密碼。 –