簡體   English   中英

遷移要由Bcrypt加密的SHA1鹽腌哈希

[英]Migrate SHA1 Salted Hashes To Be Encrypted by Bcrypt

我有一個舊應用程序(建立在.Net C#上),其中包括帶有哈希密碼sha1(password . salt) )的Users表,並且我需要將該數據安全地遷移到我的新Rails應用程序(該應用程序已經使用bcrypt-ruby gem加密了密碼)和尋找最佳解決方案, 但避免以下類型的解決方案:

  1. 重置當前所有用戶的密碼,並強制他們繼續執行“忘記密碼”過程
  2. 使用任何類型的純文本密碼(例如,即使在用戶首次登錄我的新應用程序時也是臨時的)。
  3. 在Rails應用程序中也使用SHA1相同的加密過程(我需要改用BCrypt)。

我認為最好的方法(如我所讀)是讓用戶使用舊密碼(我不知道該怎么做)登錄我的新應用,然后(通過BCrypt)加密密碼並遵循與在Rails應用程序中新注冊用戶的密碼加密相同的過程。

感謝所有解決此問題的建議解決方案。

您走在正確的軌道上。 你需要...

  • 在Rails應用程序的Users表中添加一個sha1_password字段。
  • 修改身份驗證為...
    • 檢查他們的bcrypt密碼(如果存在)。
    • 如果sha1_password的新bcrypt密碼字段為空,請檢查。
    • 如果有匹配項,您就知道他們正在遷移,並且也有他們的純文本密碼。
    • 設置他們的crypt密碼字段。
  • 結束。

這將使您的用戶能夠隨着時間的推移進行遷移。 然后,在某個時候,您決定將其余的設置為“重設密碼”路線,或者至少開始用電子郵件來煩擾它們,並最終將其完全加密。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM