org.apache.shiro.authc.credential.HashedCredentialsMatcher.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(9.8k)|赞(0)|评价(0)|浏览(150)

本文整理了Java中org.apache.shiro.authc.credential.HashedCredentialsMatcher.<init>()方法的一些代码示例,展示了HashedCredentialsMatcher.<init>()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。HashedCredentialsMatcher.<init>()方法的具体详情如下:
包路径:org.apache.shiro.authc.credential.HashedCredentialsMatcher
类名称:HashedCredentialsMatcher
方法名:<init>

HashedCredentialsMatcher.<init>介绍

[英]JavaBeans-compatible no-arg constructor intended for use in IoC/Dependency Injection environments. If you use this constructor, you MUST also additionally set the #setHashAlgorithmName(String) property.
[中]JavaBeans兼容无arg构造函数,用于IoC/依赖注入环境。如果使用此构造函数,则还必须另外设置#setHashAlgorithmName(String)属性。

代码示例

代码示例来源:origin: ityouknow/spring-boot-examples

/**
 * 凭证匹配器
 * (由于我们的密码校验交给Shiro的SimpleAuthenticationInfo进行处理了
 * )
 * @return
 */
@Bean
public HashedCredentialsMatcher hashedCredentialsMatcher(){
  HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher();
  hashedCredentialsMatcher.setHashAlgorithmName("md5");//散列算法:这里使用MD5算法;
  hashedCredentialsMatcher.setHashIterations(2);//散列的次数,比如散列两次,相当于 md5(md5(""));
  return hashedCredentialsMatcher;
}

代码示例来源:origin: Graylog2/graylog2-server

@Inject
RootAccountRealm(@Named("root_username") String rootUsername,
         @Named("root_password_sha2") String rootPasswordSha2) {
  setCachingEnabled(false);
  setCredentialsMatcher(new HashedCredentialsMatcher("SHA-256"));
  setName("root-account-realm");
  addRootAccount(rootUsername, rootPasswordSha2);
}

代码示例来源:origin: 527515025/springBoot

/**
 * HashedCredentialsMatcher,这个类是为了对密码进行编码的,
 * 防止密码在数据库里明码保存,当然在登陆认证的时候,
 * 这个类也负责对form里输入的密码进行编码。
 */
@Bean(name = "hashedCredentialsMatcher")
public HashedCredentialsMatcher hashedCredentialsMatcher() {
  HashedCredentialsMatcher credentialsMatcher = new HashedCredentialsMatcher();
  credentialsMatcher.setHashAlgorithmName("MD5");
  credentialsMatcher.setHashIterations(2);
  credentialsMatcher.setStoredCredentialsHexEncoded(true);
  return credentialsMatcher;
}

代码示例来源:origin: killbill/killbill

public static CredentialsMatcher getCredentialsMatcher(final SecurityConfig securityConfig) {
    // This needs to be in sync with DefaultTenantDao
    final HashedCredentialsMatcher credentialsMatcher = new HashedCredentialsMatcher(HASH_ALGORITHM_NAME);
    // base64 encoding, not hex
    credentialsMatcher.setStoredCredentialsHexEncoded(false);
    credentialsMatcher.setHashIterations(securityConfig.getShiroNbHashIterations());

    return credentialsMatcher;
  }
}

代码示例来源:origin: stylefeng/Guns

/**
   * 设置认证加密方式
   */
  @Override
  public void setCredentialsMatcher(CredentialsMatcher credentialsMatcher) {
    HashedCredentialsMatcher md5CredentialsMatcher = new HashedCredentialsMatcher();
    md5CredentialsMatcher.setHashAlgorithmName(ShiroKit.hashAlgorithmName);
    md5CredentialsMatcher.setHashIterations(ShiroKit.hashIterations);
    super.setCredentialsMatcher(md5CredentialsMatcher);
  }
}

代码示例来源:origin: stylefeng/Guns

/**
 * api登录接口,通过账号密码获取token
 */
@RequestMapping("/auth")
public Object auth(@RequestParam("username") String username,
          @RequestParam("password") String password) {
  //封装请求账号密码为shiro可验证的token
  UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(username, password.toCharArray());
  //获取数据库中的账号密码,准备比对
  User user = userMapper.getByAccount(username);
  String credentials = user.getPassword();
  String salt = user.getSalt();
  ByteSource credentialsSalt = new Md5Hash(salt);
  SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo(
      new ShiroUser(), credentials, credentialsSalt, "");
  //校验用户账号密码
  HashedCredentialsMatcher md5CredentialsMatcher = new HashedCredentialsMatcher();
  md5CredentialsMatcher.setHashAlgorithmName(ShiroKit.hashAlgorithmName);
  md5CredentialsMatcher.setHashIterations(ShiroKit.hashIterations);
  boolean passwordTrueFlag = md5CredentialsMatcher.doCredentialsMatch(
      usernamePasswordToken, simpleAuthenticationInfo);
  if (passwordTrueFlag) {
    HashMap<String, Object> result = new HashMap<>();
    result.put("token", JwtTokenUtil.generateToken(String.valueOf(user.getUserId())));
    return result;
  } else {
    return new ErrorResponseData(500, "账号密码错误!");
  }
}

代码示例来源:origin: apache/shiro

/**
 * Test backwards compatibility of unsalted credentials before
 * <a href="https://issues.apache.org/jira/browse/SHIRO-186">SHIRO-186</a> edits.
 */
@Test
public void testBackwardsCompatibleUnsaltedAuthenticationInfo() {
  HashedCredentialsMatcher matcher = new HashedCredentialsMatcher(Sha1Hash.ALGORITHM_NAME);
  //simulate an account with SHA-1 hashed password (no salt)
  final String username = "username";
  final String password = "password";
  final Object hashedPassword = new Sha1Hash(password).getBytes();
  AuthenticationInfo account = new AuthenticationInfo() {
    public PrincipalCollection getPrincipals() {
      return new SimplePrincipalCollection(username, "realmName");
    }
    public Object getCredentials() {
      return hashedPassword;
    }
  };
  //simulate a username/password (plaintext) token created in response to a login attempt:
  AuthenticationToken token = new UsernamePasswordToken("username", "password");
  //verify the hashed token matches what is in the account:
  assertTrue(matcher.doCredentialsMatch(token, account));
}

代码示例来源:origin: apache/shiro

/**
 * Test new Shiro 1.1 functionality, where the salt is obtained from the stored account information, as it
 * should be.  See <a href="https://issues.apache.org/jira/browse/SHIRO-186">SHIRO-186</a>
 */
@Test
public void testSaltedAuthenticationInfo() {
  //use SHA-1 hashing in this test:
  HashedCredentialsMatcher matcher = new HashedCredentialsMatcher(Sha1Hash.ALGORITHM_NAME);
  //simulate a user account with a SHA-1 hashed and salted password:
  ByteSource salt = new SecureRandomNumberGenerator().nextBytes();
  Object hashedPassword = new Sha1Hash("password", salt);
  SimpleAuthenticationInfo account = new SimpleAuthenticationInfo("username", hashedPassword, salt, "realmName");
  //simulate a username/password (plaintext) token created in response to a login attempt:
  AuthenticationToken token = new UsernamePasswordToken("username", "password");
  //verify the hashed token matches what is in the account:
  assertTrue(matcher.doCredentialsMatch(token, account));
}

代码示例来源:origin: apache/shiro

HashedCredentialsMatcher matcher = new HashedCredentialsMatcher(Sha1Hash.ALGORITHM_NAME);

代码示例来源:origin: magefree/mage

public boolean doCredentialsMatch(String name, String password) {
  HashedCredentialsMatcher matcher = new HashedCredentialsMatcher(this.hashAlgorithm);
  matcher.setHashIterations(this.hashIterations);
  AuthenticationToken token = new UsernamePasswordToken(name, password);
  AuthenticationInfo info = new SimpleAuthenticationInfo(this.name,
      ByteSource.Util.bytes(Base64.decode(this.password)),
      ByteSource.Util.bytes(Base64.decode(this.salt)), "");
  return matcher.doCredentialsMatch(token, info);
}

代码示例来源:origin: xautlx/s2jh4net

/**
   * 设定Password校验的Hash算法与迭代次数.
   */
  @PostConstruct
  public void initCredentialsMatcher() {
    HashedCredentialsMatcher matcher = new HashedCredentialsMatcher(PasswordService.HASH_ALGORITHM);
    setCredentialsMatcher(matcher);
  }
}

代码示例来源:origin: org.apache.knox/gateway-provider-security-shiro

public KnoxLdapRealm() {
 HashedCredentialsMatcher credentialsMatcher = new HashedCredentialsMatcher(HASHING_ALGORITHM);
 setCredentialsMatcher(credentialsMatcher);
}

代码示例来源:origin: lfz757077613/MyBlog

@Bean
public HashedCredentialsMatcher hashedCredentialsMatcher() {
  HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher();
  hashedCredentialsMatcher.setHashAlgorithmName("MD5");
  hashedCredentialsMatcher.setHashIterations(5);
  return hashedCredentialsMatcher;
}

代码示例来源:origin: lcw2004/one

/**
 * 设定密码校验的Hash算法与迭代次数
 */
@PostConstruct
public void initCredentialsMatcher() {
  HashedCredentialsMatcher matcher = new HashedCredentialsMatcher(PasswordUtils.HASH_ALGORITHM);
  matcher.setHashIterations(PasswordUtils.HASH_INTERATIONS);
  setCredentialsMatcher(matcher);
}

代码示例来源:origin: wangxinforme/sc

/**
 * 设定Password校验的Hash算法与迭代次数.
 */
@PostConstruct
public void initCredentialsMatcher() {
  HashedCredentialsMatcher matcher = new HashedCredentialsMatcher("SHA-1");
  matcher.setHashIterations(1024);
  setCredentialsMatcher(matcher);
}

代码示例来源:origin: java-aodeng/hope-plus

/**
 * 凭证匹配器
 * )
 * @return
 */
@Bean
public HashedCredentialsMatcher hashedCredentialsMatcher(){
  HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher();
  hashedCredentialsMatcher.setHashAlgorithmName("md5");
  hashedCredentialsMatcher.setHashIterations(2);
  return hashedCredentialsMatcher;
}

代码示例来源:origin: com.haoxuer.discover/discover-common-user-hibernate

/**
 * 设定Password校验的Hash算法与迭代次数.
 */
@SuppressWarnings("static-access")
@PostConstruct
public void initCredentialsMatcher() {
 HashedCredentialsMatcher matcher = new HashedCredentialsMatcher(SecurityUtil.HASH_ALGORITHM);
 matcher.setHashIterations(SecurityUtil.HASH_INTERATIONS);
 setCredentialsMatcher(matcher);
}

代码示例来源:origin: com.github.sogyf/goja-mvt

public AppDbRealm() {
  HashedCredentialsMatcher matcher = new HashedCredentialsMatcher(EncodeKit.HASH_ALGORITHM);
  matcher.setHashIterations(EncodeKit.HASH_INTERATIONS);
  setCredentialsMatcher(matcher);
}

代码示例来源:origin: yidao620c/SpringBootBucket

/**
 * 凭证匹配器 (由于我们的密码校验交给Shiro的SimpleAuthenticationInfo进行处理了
 * 所以我们需要修改下doGetAuthenticationInfo中的代码; @return
 */
@Bean
public HashedCredentialsMatcher hashedCredentialsMatcher() {
  HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher();
  hashedCredentialsMatcher.setHashAlgorithmName("md5");// 散列算法:这里使用MD5算法;
  hashedCredentialsMatcher.setHashIterations(2);// 散列的次数,比如散列两次,相当于md5(md5(""));
  hashedCredentialsMatcher.setStoredCredentialsHexEncoded(true);//表示是否存储散列后的密码为16进制,需要和生成密码时的一样,默认是base64;
  return hashedCredentialsMatcher;
}

代码示例来源:origin: yidao620c/SpringBootBucket

/**
 * 设置认证加密方式
 */
@Override
public void setCredentialsMatcher(CredentialsMatcher credentialsMatcher) {
  HashedCredentialsMatcher md5CredentialsMatcher = new HashedCredentialsMatcher();
  md5CredentialsMatcher.setHashAlgorithmName(ShiroKit.HASH_ALGORITHM_NAME);
  md5CredentialsMatcher.setHashIterations(ShiroKit.HASH_ITERATIONS);
  super.setCredentialsMatcher(md5CredentialsMatcher);
}

相关文章