2017-03-02 7 views
0

私はseafileサーバーにログインするたびにユーザーのためにランダムなパスワードを生成しようとしています。 seafile使用: - SHA256とPBKDF2 - 10000反復 - 32バイト塩seafile pbkdf2 hash php

iが使用するコードは次のとおりです

<?php 
    $salt = random_bytes(32); 
    $salt = bin2hex($salt); 
    $iterations = 10000; 
    echo "GENERATED SALT: " . $salt . "<br>" . "<br>"; 

    $hash = hash_pbkdf2 ("sha256" , "weirdone" , $salt , $iterations); 
    echo "GENERATED HASH: " . $hash . "<br>" . "<br>"; 

    echo "FINAL RESULT: PBKDF2SHA256$" . $iterations . "$" . $salt . "$" . $hash . "<br>" . "<br>"; 

?> 

問題も同じ塩とiが異なる出力を得ることである 例:アルゴリズム、塩、パスワード、および反復が一致していない理由は同じである場合は

SALT: 09d095a396852b525ce7f5408fe7d314a2632a19bfc8c495c8e79bd4e6aebfed 
PASSWORD: weirdone 

    seafile output: 
    PBKDF2SHA256$10000$09d095a396852b525ce7f5408fe7d314a2632a19bfc8c495c8e79bd4e6aebfed$45145c60802f1fdce581a550b5e23f8027ba6ff0720c81f2efaa73025bd465ca 

    my output: 
    PBKDF2SHA256$10000$09d095a396852b525ce7f5408fe7d314a2632a19bfc8c495c8e79bd4e6aebfed$007c599ba2d0076e19589bb90303155efa2df8a2f6b49d845902c075bc5f5492 

目標は、新しいパスワードを生成し、データベースに挿入し、ユーザーに渡してログインできるようにすることです。あなたは16進数でエンコードされた$塩に渡している

おかげ

答えて

1

は、)(hash_pbkdf2する$塩生のバイトに渡す必要があります。

+0

私はそれについて考えなかったよ、ありがとう – FreedomSka