2016-10-19 7 views
-2

私は春の新人です。私は、ユーザーがデータベースの基本的な詳細とパスワードをdatabase.passwordに直接保存するユーザー登録フォームを作成する必要があります。これは、登録Beanの文字列データ型とデータベースのvarcharです。 私のアプローチは、私は、モバイルまたはWebサイトからそのWebサービスにサービスコールを行い、プレーンテキストとしてパスワードを送信することです。 しかし、私はこれは良い方法ではないと思うwebserviceまたはサーバーコードまたはデータベースを介してデータを送信中にセキュリティがない、パスワードはほとんどの検証と文字列です。 業界標準に従ってこのタスクを実行する良い方法がありますか? ありがとうございます。パスワードwebサービスにセキュリティを追加する

また、パスワードをハッカーやサーバーに傍受しないようにしてください。パスワードはクライアントから暗号化された形で送られ、データベースに保存する必要があります。サーバ/ DBを管理している誰もそのパスワードを参照してはいけません。

+1

次のリンクに与えられた答えは、[クライアント側でパスワードをハッシュ]役立つかもしれない(http://security.stackexchange.com/questions/8596/https-security-should-password -be-hashed-server-side-or-client-side) –

答えて

0

Spring Securityが提供するBCryptPasswordEncoderを使用してユーザーのパスワードを暗号化し、ハッシュされたパスワード文字列をデータベースに格納します。

例:

@Transactional 
@Override 
public User create(UserCreateForm form) { 
    User user = new User(); 
    user.setEmail(form.getEmail()); 
    user.setPasswordHash(new BCryptPasswordEncoder().encode(form.getPassword())); 
    user.setRole(form.getRole()); 
    return userRepository.save(user); 
} 
関連する問題