2016-12-30 75 views
1

我是Django的新手。已經從SQLite遷移到MySQL。用戶相關信息存儲在auth_user表中。如何將純文本轉換爲django中的散列密碼

我有100個純文本用戶相關的用戶名和密碼。我需要將它們插入到auth_user表中。我怎樣才能做到這一點?

例如,我用下面的插入語句手動插入它們。

INSERT INTO `auth_user` (username, `password`, is_superuser) 
VALUES ('test', 'test_password', 0) 

如果我插入他們那樣,我會暴露出明文密碼。我想使用Django散列密碼。

+0

本網站是由Django製作還是已經遷移到Django。如果它是在Django中創建的,我不得不問爲什麼要用純文本存儲密碼。 –

回答

5

通過以純文本形式存儲密碼,您已經讓用戶失望了,但是因爲他們說比晚輩說得好。

我認爲你的用戶不在auth_user(來自django.contrib.auth)以外的表中。遍歷該表併爲每個用戶創建用戶實例。

調用set_password方法生成哈希密碼。

將用戶的密碼設置爲給定的原始字符串,注意密碼散列的 。不保存用戶對象。

當raw_password爲None時,密碼將被設置爲不可用的 密碼,就像使用了set_unusable_password()一樣。

+0

請給我一個示例代碼。我不知道那個django。我對django很陌生 –

+1

對不起,但你知道,這不是stackoverflow的工作原理。請嘗試使用上面提供的準則,如果遇到問題,請發佈一個新問題。 – e4c5

+0

除了任何人都不可能發佈樣本代碼,因爲你沒有發佈你現有的模型是什麼樣的。所以請嘗試,然後發佈一個新的問題,如果你遇到困難 – e4c5

相關問題