2016-01-18 111 views
1

我正在關注一些python書籍,作者提供了一個使用crypt來產生散列密碼的例子。使用salt +密碼;後來他提到使用hashlib庫可以爲sha512做同樣的事情。所以我試圖使用 hashlib.sha512(password+salt).hexdigest() 來查看我是否可以在/ etc/shadow文件中使用相同的密碼,但是我沒有得到任何類似的東西。我正在使用顯示爲密碼哈希部分的鹽。我是否正確地做,或者鹽需要ascii形式?鹽也是先走,然後像hashlib.sha512(鹽+密碼).hexdigest()?我的其他代碼非常簡單。這是關於尋找鹽的一部分,並正確地散列它。 nagios:$6$P9zn0KwR$tgfvvFWJJ5FKmoXiP5rXWOjwoEBOEoAuBi3EphRbJqqjWYvhEM2wa67L9XgQ7W591FxUNklkDIQsk4kij uhE50:16632:0:99999:7:::使用hashlib創建一個sha512密碼

例如我使用的鹽是「P9zn0KwR」這是正確的還是我需要找到該鹽明文...感謝

回答

1

使用的哈希算法如MD5或SHA-*是不安全的方式來存儲密碼,因爲它們的速度太快,因此可能會很容易被蠻橫壓制。

看看Phyton docs,關於關鍵拉伸的部分。看來他們實施了推薦的密碼PBKDF2。 passlib似乎也是一個不錯的選擇,他們支持BCrypt算法。