public boolean matchesPassword(
            PasswordEncodingAlgorithm strategy,
            @Nullable String rawPassword,
            @Nullable byte[] encodedPassword) {
        if (encodedPassword == null) {
            return rawPassword == null;
        } else if (rawPassword == null) {
            return false;
        }
        byte[] raw = StringUtil.getBytes(rawPassword);
        return switch (strategy) {
            case BCRYPT -> bCryptPasswordEncoder.matches(raw, encodedPassword);
            case SALTED_SHA256 -> sha256PasswordEncoder.matches(raw, encodedPassword);
            case NOOP -> Arrays.equals(raw, encodedPassword);
        };
    }
@return true if the passwords match. Note that the method returns true if both passwords are
        null
turms-server-common/src/main/java/im/turms/server/common/infra/security/password/PasswordManager.java