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

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

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

HashedCredentialsMatcher.setHashAlgorithmName介绍

[英]Sets the Hash org.apache.shiro.crypto.hash.Hash#getAlgorithmName() to use when performing hashes for credentials matching.
[中]设置哈希组织。阿帕奇。西罗。加密。搞砸哈希#getAlgorithmName(),在对凭据匹配执行哈希时使用。

代码示例

代码示例来源: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: 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: 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: java-aodeng/hope-plus

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

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

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

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

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

代码示例来源:origin: coder-yqj/springboot-shiro

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

代码示例来源:origin: dqeasycloud/easy-cloud

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

代码示例来源:origin: rhettpang/Springboot-Shiro

/**
 * (这里我是用自己定义的加密方式,没用到这块,需要的可以释放出来,注意上面的加载)
 * 凭证匹配器
 * (由于我们的密码校验交给Shiro的SimpleAuthenticationInfo进行处理了
 *  所以我们需要修改下doGetAuthenticationInfo中的代码;
 * )
 * @return
 */
@Bean
public HashedCredentialsMatcher hashedCredentialsMatcher(){
  HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher();
  //散列算法:这里使用MD5算法;
  hashedCredentialsMatcher.setHashAlgorithmName("md5");
  //散列的次数,比如散列两次,相当于 md5(md5(""));
  hashedCredentialsMatcher.setHashIterations(1);
  return hashedCredentialsMatcher;
}

代码示例来源: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: ueboot/ueboot

/***
 * 密码凭证匹配器
 * @return
 */
@Bean
@ConditionalOnMissingBean
public CredentialsMatcher hashedCredentialsMatcher(RedisTemplate<Object,Object> redisTemplate) {
  HashedCredentialsMatcher  matcher=new RetryLimitHashedCredentialsMatcher(redisTemplate);
  matcher.setHashAlgorithmName ("SHA-512");
  //散列的次数,比如散列两次
  matcher.setHashIterations (2);
  matcher.setStoredCredentialsHexEncoded (Boolean.TRUE);
  return matcher;
}

代码示例来源:origin: yy1193889747/springboot-demo

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

代码示例来源:origin: stackoverflow.com

public class CdiEnvironmentLoaderListener extends EnvironmentLoaderListener {

  //this is your implementation that extends Authorizing Realm
  ShiroRealm shiroRealm = null; 

  @Override
  protected WebEnvironment createEnvironment(ServletContext sc) {
    WebEnvironment environment = super.createEnvironment(sc);
    shiroRealm = new ShiroRealm();

    RealmSecurityManager rsm = (RealmSecurityManager) environment
      .getSecurityManager();

    HashedCredentialsMatcher matcher = new HashedCredentialsMatcher();
    matcher.setHashAlgorithmName(Sha512Hash.ALGORITHM_NAME);

    shiroRealm.setCredentialsMatcher(matcher);

    rsm.setRealm(shiroRealm);

    ((DefaultWebEnvironment) environment).setSecurityManager(rsm);

    return environment;
  }
}

代码示例来源: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);
}

代码示例来源:origin: TomChen001/xmanager

@Override
  public void afterPropertiesSet() throws Exception {
    Assert.notNull(passwordHash, "you must set passwordHash!");
    super.setHashAlgorithmName(passwordHash.getAlgorithmName());
    super.setHashIterations(passwordHash.getHashIterations());
    this.passwordRetryCache = cacheManager.getCache(retryLimitCacheName);
  }
}

代码示例来源:origin: babylikebird/common-admin

@Override
  public void setCredentialsMatcher(CredentialsMatcher credentialsMatcher) {
    HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher();
    hashedCredentialsMatcher.setHashAlgorithmName(ShiroKit.hashAlgorithmName);
    hashedCredentialsMatcher.setHashIterations(ShiroKit.hashIterations);
    super.setCredentialsMatcher(hashedCredentialsMatcher);
  }
}

代码示例来源:origin: tumao2/hdw-dubbo

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

代码示例来源:origin: qiurunze123/GEEKQ-CM

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

代码示例来源:origin: org.sonatype.nexus/nexus-security

@Inject
public AuthorizingRealmImpl(final RealmSecurityManager realmSecurityManager,
              final UserManager userManager,
              final Map<String, UserManager> userManagerMap)
{
 this.realmSecurityManager = realmSecurityManager;
 this.userManager = userManager;
 this.userManagerMap = userManagerMap;
 HashedCredentialsMatcher credentialsMatcher = new HashedCredentialsMatcher();
 credentialsMatcher.setHashAlgorithmName(Sha1Hash.ALGORITHM_NAME);
 setCredentialsMatcher(credentialsMatcher);
 setName(NAME);
 setAuthenticationCachingEnabled(false); // we authz only, no authc done by this realm
 setAuthorizationCachingEnabled(true);
}

相关文章