我正在開發一個Android應用程序,我想提交一個用戶名和密碼。我在做什麼,此刻是:ObjectOutputStream:這是安全的嗎?
通過ObjectOutputStream的
連接到認證服務器
發送用戶名/散列密碼
我這樣做是因爲這是我可以用我已經獲得的知識來實現自己的唯一解決方案。
但是當然有一個問題我不得不擔心:這有多安全?我知道,沒有100%的安全。但是,這是一個非常糟糕的解決方案,或平均?
我正在開發一個Android應用程序,我想提交一個用戶名和密碼。我在做什麼,此刻是:ObjectOutputStream:這是安全的嗎?
通過ObjectOutputStream的
連接到認證服務器
發送用戶名/散列密碼
我這樣做是因爲這是我可以用我已經獲得的知識來實現自己的唯一解決方案。
但是當然有一個問題我不得不擔心:這有多安全?我知道,沒有100%的安全。但是,這是一個非常糟糕的解決方案,或平均?
這是不安全的,因爲登錄名/密碼未加密。事情你應該做的是:
鹽: 如果兩個用戶有此相同的密碼,他們也都會有這個相同的哈希。這可以很容易地使用彩虹表(谷歌爲它)恢復。爲了避免這樣的密碼的情況應該與一些鹽是哈希值,而不是使用:
hash(password);
你應該使用:
hash(salt+password);
哪裏鹽可以在應用程序硬編碼了一些相當長的隨機字符串(防止彩虹攻擊)或只是用戶名,因爲它可以在服務器端和應用程序端輕鬆訪問。
你爲什麼要發送密碼到服務器? – Kedarnath
檢查它是否正確。正確的密碼存儲在mySQL數據庫中。和我發送密碼的服務器正在訪問此數據庫。數據庫本身只能由接收我的密碼的這臺服務器訪問。 – PKlumpp
然後使用md5,它是100%安全的。 – Kedarnath