Example usage for org.apache.shiro.crypto.hash SimpleHash SimpleHash

List of usage examples for org.apache.shiro.crypto.hash SimpleHash SimpleHash

Introduction

In this page you can find the example usage for org.apache.shiro.crypto.hash SimpleHash SimpleHash.

Prototype

public SimpleHash(String algorithmName, Object source, Object salt)
        throws CodecException, UnknownAlgorithmException 

Source Link

Document

Creates an algorithmName -specific hash of the specified source using the given salt using a single hash iteration.

Usage

From source file:com.zrx.authority.web.controller.system.login.LoginController.java

/**
 * ?/*from   ww w  . ja  v  a  2s  .c om*/
 *
 * @throws java.lang.Exception
 */
@RequestMapping(value = "/login_login")
@ResponseBody
public Object login() throws Exception {
    Map<String, String> map = new HashMap<String, String>();
    PageData pd = new PageData();
    pd = this.getPageData();
    String errInfo = "";
    String KEYDATA[] = pd.getString("KEYDATA").replaceAll("qq12345678fh", "").replaceAll("QQ98765423fh", "")
            .split(",fh,");

    if (null != KEYDATA && KEYDATA.length == 3) {
        //shiro?session
        Subject currentUser = SecurityUtils.getSubject();
        Session session = currentUser.getSession();
        String sessionCode = (String) session.getAttribute(Const.SESSION_SECURITY_CODE); //?session??

        String code = KEYDATA[2];
        //??
        if (null == code || "".equals(code)) {
            errInfo = "nullcode"; //??
        } else {
            String USERNAME = KEYDATA[0];
            String PASSWORD = KEYDATA[1];

            if (Tools.notEmpty(sessionCode) && sessionCode.equalsIgnoreCase(code)) {
                String passwd = new SimpleHash("SHA-1", USERNAME, PASSWORD).toString(); //?
                pd.put("PASSWORD", passwd);
                pd.put("USERNAME", USERNAME);
                pd = userService.getUserByNameAndPwd(pd);

                if (pd != null) {
                    pd.put("LAST_LOGIN", DateUtil.getTime().toString());
                    userService.updateLastLogin(pd);
                    User user = new User();
                    user.setUSER_ID(pd.getString("USER_ID"));
                    user.setUSERNAME(pd.getString("USERNAME"));
                    user.setPASSWORD(pd.getString("PASSWORD"));
                    user.setNAME(pd.getString("NAME"));
                    user.setRIGHTS(pd.getString("RIGHTS"));
                    user.setROLE_ID(pd.getString("ROLE_ID"));
                    user.setLAST_LOGIN(pd.getString("LAST_LOGIN"));
                    user.setIP(pd.getString("IP"));
                    user.setSTATUS(pd.getString("STATUS"));

                    session.setAttribute(Const.SESSION_USER, user);
                    session.removeAttribute(Const.SESSION_SECURITY_CODE);

                    //shiro?
                    Subject subject = SecurityUtils.getSubject();
                    UsernamePasswordToken token = new UsernamePasswordToken(USERNAME, PASSWORD);//authc
                    try {
                        subject.login(token);//?
                    } catch (AuthenticationException e) {
                        errInfo = "??";
                    }
                } else {
                    errInfo = "usererror";//???
                }
            } else {
                errInfo = "codeerror"; //??
            }

            if (Tools.isEmpty(errInfo)) {
                errInfo = "success"; //??
            }
        }

    } else {
        errInfo = "error"; //?
    }

    map.put("result", errInfo);
    System.out.println("...." + errInfo);
    return AppUtil.returnObject(new PageData(), map);// map
    //return map;
}

From source file:com.zuoxiaolong.niubi.job.persistent.shiro.HashHelper.java

License:Apache License

public static String getHashedPassword(String password, String salt) {
    Hash hash = new SimpleHash(hashAlgorithm, password, salt);
    return hash.toHex();
}

From source file:org.graylog2.security.hashing.SHA1HashPasswordAlgorithm.java

License:Open Source License

private String hash(String password, String salt) {
    return new SimpleHash(HASH_ALGORITHM, password, salt).toString();
}

From source file:org.graylog2.users.UserImpl.java

License:Open Source License

@Override
public void setPassword(final String password, final String passwordSecret) {
    if (password == null || "".equals(password)) {
        // If no password is given, we leave the hashed password empty and we fail during validation.
        setHashedPassword("");
    } else {/*from   w ww  .j a  v  a 2 s.co m*/
        final String newPassword = new SimpleHash(HASH_ALGORITHM, password, passwordSecret).toString();
        setHashedPassword(newPassword);
    }
}

From source file:org.graylog2.users.UserImpl.java

License:Open Source License

@Override
public boolean isUserPassword(final String password, final String passwordSecret) {
    final String oldPasswordHash = new SimpleHash(HASH_ALGORITHM, password, passwordSecret).toString();
    return getHashedPassword().equals(oldPasswordHash);
}