我在這裏發現了一個類似的問題Saving passwords inside an application但它並沒有真正回答我的問題。如何在您的應用程序中安全地處理密碼
我正在處理將從用戶接收密碼(安全)的應用程序。一旦我收到密碼,我需要將其存儲在某個變量中,並通過事務將其發送到其他系統(此邏輯安全可靠並已實施)。
我擔心的是我不希望看到的密碼核心轉儲,所以我想它保存到一個變量之前加密任何密碼。
問題:
是將其保存到一個變量足夠之前加密呢?或者我錯過了一些安全漏洞?
是否有一個簡單的標題只有庫可以做加密?你能引導我到哪裏開始尋找?
注意回答評議:
的密碼不會被長期儲存;僅用於交易的生命週期。
不幸的是,交易參與者無法解密密碼,因此我需要在將密碼發送給他們之前將其解密。
我主要關心現在的問題是找到一種方法來加密和解密本地密碼 - 以簡單的方式...
我發現了OpenSSL庫和加密+ +,但它接縫,我需要鏈接和他們在一起,我不能只包括並呼籲他們(即不僅有頭庫)...
感謝,
那麼,如果加密程序失敗,你*將會*看到密碼:)然而,有些平臺具體的方法可以真正地消除內存,所以你可以使用它們來清除內存中的密碼不再需要它......雖然當然如果你願意,你可能會獲得必要的資源來解密它。 –
您打算將密碼「長期」還是「短期」存儲(長期來看,將其存儲在磁盤上的某個文件中,短期內,您會收到該密碼,然後將其發送給其他服務器只要您需要發送密碼,就可以持有密碼)?任何「長期」存儲都是易碎的。這就是爲什麼「正確」的密碼存儲是在「單向加密」中完成的,所以你永遠不能「反向加密」[當然,仍然有可能「在很多可能的猜測上運行加密」直到它匹配)。 –
如果有人可以在轉儲和加密/解密中訪問加密密碼,那麼他們解密您的加密密碼相當簡單。保持密碼安全和受保護的最佳方式是不保留密碼。所以你必須決定你能夠合理地讓snopers找到並反向處理你對密碼的保護是多麼困難。 – StarPilot