1
我一直在嘗試做一些密碼驗證模塊,我陷入了驗證過程。我通過安全隨機創建Salt字節。並將其存儲在BINARY格式的數據庫中。安全隨機在登錄過程中
random = SecureRandom.getInstance("SHA1PRNG");
random.nextBytes(salt);
我散列使用
SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
PBEKeySpec pbeKeySpec = new PBEKeySpec(charData,salt,iterations,bitLength);
hash = factory.generateSecret(pbeKeySpec).getEncoded();
了密碼當我試圖(使用從DB中的鹽即值生成散列)來驗證密碼。我沒有得到相同的散列值。有什麼我做錯了。
首先驗證您生成的'salt'中的字節與您從數據庫檢索到的字節相同。 – chrylis