2017-09-01 21 views
5

Tôi có cơ sở dữ liệu về mật khẩu băm Wordpress. Tôi đang cố gắng kiểm tra mật khẩu của người dùng đối với mật khẩu được lưu trữ cơ sở dữ liệu, nhưng các hash không chính xác. Tôi đang sử dụng this github code với một số đăng nhập isMatch(). Bất kỳ ý tưởng nào tại sao những mật khẩu này không khớp? mật khẩu văn bản đơn giản là alberta10Cố gắng kiểm tra băm mật khẩu wordpress bằng cách sử dụng phpass

public boolean isMatch(String password, String storedHash) { 
    // The first 12 digits of the hash is used to modify the encryption. 
    String setting = storedHash.substring(0, 12); 
    logger.log(Level.INFO, "----Hashed pwd from db is: "+storedHash); 
    logger.log(Level.INFO, "----Hashed pwd using php-pass: "+encrypt(password, setting)); 

    return storedHash.equals(encrypt(password, setting)); 
    } 

Đây là phương pháp authenticate() tôi

private void authenticate(String username, String password) throws Exception { 
    // Throw an Exception if the credentials are invalid 
    PasswordHasher pwdHasher=new PasswordHasher(); 

    _logger.log(Level.INFO, "----Authenticating user: "+username); 
    try{ 
    Connection conn=authenticationBiz.connWordpressDB(); 
    String query = "SELECT * FROM wp_users WHERE user_login = ?"; 
    PreparedStatement preparedStmt = conn.prepareStatement(query); 
    preparedStmt.setString(1, username); 
    ResultSet rs=preparedStmt.executeQuery(); 
    rs.next();//get first result 
    _logger.log(Level.INFO, "----Hashed pwd from db is: "+rs.getString("user_pass")); 
    if(pwdHasher.isMatch(password,rs.getString("user_pass")))    
     return; 
    } 
    catch(Exception e){ 
     _logger.log(Level.INFO, "----Exception in Authenticating user: "+e);    
     throw e; 
    } 
    throw new Exception(); 
} 

Heres dữ liệu ghi nhận:

----Hashed pwd from db is: $P$BeatnTVG2/U8KZwpaWbPUF4yghHEKf. 
    17:21:40,997 INFO [com.mollom.phpass] (default task-37) ----Hashed pwd from db is: $P$BeatnTVG2/U8KZwpaWbPUF4yghHEKf. 
----Hashed pwd using php-pass: $P$BeatnTVG2etvrth3rlCUdiNRm93PO9xZjXNr1f5s8izUZFfIq70V 
+0

Các băm mật khẩu không khớp vì 'PasswordHasher' từ dự án github được liên kết không sử dụng cùng một logic để băm mật khẩu như Wordpress. Tại sao bạn nghĩ rằng 'PasswordHasher' có liên quan đến nhiệm vụ của bạn? Nếu có, bạn đã thử liên hệ với tác giả của nó chưa? –

+1

Để có cùng một logic băm mật khẩu, bạn sẽ muốn viết lại hàm WordPress 'wp_hash_password()' cho Java. Có lẽ sẽ không đưa bạn lâu đến thế. –

+0

Mã wordpress (bằng PHP) sử dụng 'PasswordHasher' từ phppass theo điều này: https://core.trac.wordpress.org/browser/tags/4.8/src/wp-includes/pluggable.php#L0 – Rilcon42

Trả lời

1

Wordpress sử dụng 8 lần lặp băm, trung tâm git cod bạn đã liên kết sử dụng 15 lần lặp lại, có thể bạn không thể chỉ cố gắng giảm số lần băm được xác định trong hằng số HASH_ITERATIONS.

Các vấn đề liên quan