我正在編寫C++桌面應用程序,允許用戶登錄某些Web服務。按照技術要求,用戶可以選中「記住我」複選框,關閉應用程序並重新運行後,應用程序應該首次使用電子郵件和密碼用戶輸入重新登錄。以後在C++應用程序中登錄存儲密碼
我知道這是不安全的,強烈不建議將密碼存儲在磁盤上,但我不知道如何以安全的方式記住用戶的密碼。有這種情況下的最佳做法或建議嗎?
注意:我的應用程序是針對Windows/Ubuntu/MacOS的,因此瞭解與操作系統無關的方法將會很酷。我的應用程序是基於C++ 11/Qt5.4的。
我正在編寫C++桌面應用程序,允許用戶登錄某些Web服務。按照技術要求,用戶可以選中「記住我」複選框,關閉應用程序並重新運行後,應用程序應該首次使用電子郵件和密碼用戶輸入重新登錄。以後在C++應用程序中登錄存儲密碼
我知道這是不安全的,強烈不建議將密碼存儲在磁盤上,但我不知道如何以安全的方式記住用戶的密碼。有這種情況下的最佳做法或建議嗎?
注意:我的應用程序是針對Windows/Ubuntu/MacOS的,因此瞭解與操作系統無關的方法將會很酷。我的應用程序是基於C++ 11/Qt5.4的。
您應該實現這種設計的方式是向用戶發出本地存儲的SessionID,以及用於驗證和訪問其特定接口的SessionID。然後,如果他們希望稍後再次登錄,只需使用存儲的SessionID,並且如果他們希望以其他人身份登錄,則清除SessionID,然後像正常一樣登錄它們,發出新的SessionID。這樣你就不會在他們的計算機上存儲敏感信息。
不幸的是,Web服務在某些情況下使會話ID無效,如長時間的用戶不活動。 –
沒錯,但你是編寫應用程序的人。您可以選擇如何/何時應該實現該功能。 – Xirema
你可以存儲一個體面加密的密碼? –
當然可以。我只是在問最佳做法。 –
_「我只是在詢問最佳做法。」_事實證明這種做法被廣泛接受,並且很可能在這裏被關閉。 –