パスワードの暗号化のための春のセキュリティにSSM BCryptPasswordEncoderに使用されるセキュリティ統合フレームワーク(ステップは間違ってはなりません)

セキュリティフレームワーク.Springセキュリティパスワードの暗号化方式の概要を実装

1.まず、次のように春のセキュリティは、強力な暗号化ツールのPasswordEncoderを提供し、コードPasswordEncoderインタフェースは、次のとおりです。

package org.springframework.security.crypto.password;

public interface PasswordEncoder {
    String encode(CharSequence var1);//是是对密码加密的方法

    boolean matches(CharSequence var1, String var2);//是用来验证密码和加密后密码是否一致的如果一致则返回true
}

2.第二に:春のセキュリティを実装春PasswordEncoderインタフェースというBCryptPasswordEncoderクラスを提供し、すべての結果をハッシュbcryptの強力な暗号化により、パスワードを暗号化するための強力なハッシュ方式bcryptの使用が異なっている:あなたはを見てみることができます123:例がパスワードを暗号化し、パスワードは暗号化された平文パスワードの両方があることに留意すべきである
ここに画像を挿入説明3.暗号化されたコードは、各暗号化されたランダムな文字列が生成され見ることができます。

public String encode(CharSequence rawPassword) {
        String salt;
        if (this.strength > 0) {
            if (this.random != null) {
                salt = BCrypt.gensalt(this.strength, this.random);
            } else {
                salt = BCrypt.gensalt(this.strength);
            }
        } else {
            salt = BCrypt.gensalt();
        }

        return BCrypt.hashpw(rawPassword.toString(), salt);
    }

暗号化された2つの特定の実装手順

設定ファイルの暗号化に必要な1.コンフィギュレーションツール

<!--配置加密工具类-->
<bean id="passwordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>

サービスの実装ではBCryptPasswordEncoder注入層2

@Autowired
 private BCryptPasswordEncoder passwordEncoder;//通过注解拿到加密对象

3.そのような操作を保存などの操作の方法で実装に必要なサービスの暗号化層を追加します

//保存一个用户,使用加密算法把加密后的密码保存入数据库
    @Override
    public void save(SysUser sysUser) {
        //二.使用安全框架加密方式
        //1.Security安全框架加密操作:加密密码并存入sysUser对象中
        String encode = passwordEncoder.encode(sysUser.getPassword());//拿到加密后的密码
        sysUser.setPassword(encode);//将加密后的密码设置到sysUser对象中
        userDao.save(sysUser);
    }

「{} NOOP」その後、削除; 4.ユーザー(ユーザーのパスワードが暗号化されている)、またはログインパスワードを追加し、それを実行する必要が上記の設定終了が失敗し、使用前に暗号化されていません

//2.Security安全框架加密操作:去除+"{noop}"+————————————非常重要
            User user = new User(sysUser.getUsername(), sysUser.getPassword(), authorities);
            return user;

最初のステップ参照ID内部に配置された構成ファイルspring_security.xml 5.

<!-- Security安全框架加密操作:引入加密操作-->
<security:password-encoder ref="passwordEncoder"/>
公開された43元の記事 ウォン称賛84 ビュー8217

おすすめ

転載: blog.csdn.net/weixin_43330884/article/details/104632267