[英]Storing passwords in a database
關於如何在數據庫中存儲密碼有很多問題,我知道密碼在任何情況下都不應以純文本形式存儲。 但是,我的應用程序需要針對各種第三方進行身份驗證,例如不提供OAUTH的SMB或REST API。 簡而言之:我需要存儲密碼。
為了避免以明文形式存儲密碼,我的想法是將密鑰存儲在環境變量中,並使用它來加密/解密密碼。
這是解決問題的好方法還是有更好的選擇?
查看attr_encrypted gem以透明地加密和解密屬性。 這將允許您寫入虛擬屬性,並在保存時將無縫地處理加密數據並將其持久保存到數據庫中,以便它們永遠不會以純文本形式存儲。
確保使用具有以下新默認模式的gem:per_attribute_iv,它將為您要存儲的每個加密屬性保留加密的密文和單獨的IV。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.