com.github.aynu.yukar.baseline.provider.domain.auth.CertificationDomain.java Source code

Java tutorial

Introduction

Here is the source code for com.github.aynu.yukar.baseline.provider.domain.auth.CertificationDomain.java

Source

// ----------------------------------------------------------------------------
// Copyright (C) Yukar Evolution Laboratory. All rights reserved.
// GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
// http://www.gnu.org/licenses/gpl-3.0-standalone.html
// ----------------------------------------------------------------------------
package com.github.aynu.yukar.baseline.provider.domain.auth;

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.Validate;
import com.github.aynu.yukar.framework.lang.AbstractValueObject;

/**
 * ?
 * @author nilcy
 */
public class CertificationDomain extends AbstractValueObject<CertificationDomain> {
    /** ? */
    private static final long serialVersionUID = -7875471541734976140L;
    /** ? */
    private final Certification certification;

    /**
     * 
     * @param certification {@link #certification}
     */
    public CertificationDomain(final Certification certification) {
        this.certification = certification;
    }

    /**
     * 
     * <dl>
     * <dt>?
     * <dd>SHA-256(HEX)???????????
     * </dl>
     * @param password (?????,???????)
     * @return ?
     */
    public Certification changePassword(final String password) {
        Validate.notBlank(password);
        final String newPassword = DigestUtils.sha256Hex(password);
        Validate.isTrue(!newPassword.equals(certification.getPassword()), "The validated password is same");
        return new Certification(certification.getAccount(), newPassword);
    }
}