use of io.nuls.account.storage.po.AccountPo in project nuls by nuls-io.
the class AccountBaseService method setPassword.
/**
* 设置密码
* Set password (Encryption account)
*
* @param address
* @param password
* @return
*/
public Result setPassword(String address, String password) {
if (!AddressTool.validAddress(address)) {
return Result.getFailed(AccountErrorCode.ADDRESS_ERROR);
}
if (StringUtils.isBlank(password)) {
return Result.getFailed(AccountErrorCode.NULL_PARAMETER);
}
if (!StringUtils.validPassword(password)) {
return Result.getFailed(AccountErrorCode.PASSWORD_FORMAT_WRONG);
}
Account account = accountService.getAccount(address).getData();
if (null == account) {
return Result.getFailed(AccountErrorCode.ACCOUNT_NOT_EXIST);
}
if (account.isEncrypted()) {
return Result.getFailed(AccountErrorCode.ACCOUNT_IS_ALREADY_ENCRYPTED);
}
try {
account.encrypt(password);
Result result = accountStorageService.updateAccount(new AccountPo(account));
if (result.isFailed()) {
return Result.getFailed(AccountErrorCode.FAILED);
}
accountCacheService.localAccountMaps.put(account.getAddress().getBase58(), account);
} catch (NulsException e) {
Log.error(e);
return Result.getFailed(AccountErrorCode.FAILED);
}
return Result.getSuccess().setData(true);
}
use of io.nuls.account.storage.po.AccountPo in project nuls by nuls-io.
the class AccountBaseService method changePassword.
/**
* 根据原密码修改账户密码
* Change the account password according to the current password
*
* @param oldPassword
* @param newPassword
* @return
*/
public Result changePassword(String address, String oldPassword, String newPassword) {
if (!AddressTool.validAddress(address)) {
return Result.getFailed(AccountErrorCode.ADDRESS_ERROR);
}
if (StringUtils.isBlank(oldPassword)) {
return Result.getFailed(AccountErrorCode.PARAMETER_ERROR);
}
if (StringUtils.isBlank(newPassword)) {
return Result.getFailed(AccountErrorCode.PARAMETER_ERROR);
}
if (!StringUtils.validPassword(oldPassword)) {
return Result.getFailed(AccountErrorCode.PASSWORD_FORMAT_WRONG);
}
if (!StringUtils.validPassword(newPassword)) {
return Result.getFailed(AccountErrorCode.PASSWORD_FORMAT_WRONG);
}
Account account = accountService.getAccount(address).getData();
if (null == account) {
return Result.getFailed(AccountErrorCode.ACCOUNT_NOT_EXIST);
}
try {
if (!account.isEncrypted()) {
return Result.getFailed(AccountErrorCode.ACCOUNT_UNENCRYPTED);
}
if (!account.validatePassword(oldPassword)) {
return Result.getFailed(AccountErrorCode.PASSWORD_IS_WRONG);
}
account.unlock(oldPassword);
account.encrypt(newPassword, true);
AccountPo po = new AccountPo(account);
Result result = accountStorageService.updateAccount(po);
if (result.isFailed()) {
return Result.getFailed(AccountErrorCode.FAILED);
}
accountCacheService.localAccountMaps.put(account.getAddress().getBase58(), account);
return result.setData(true);
} catch (NulsException e) {
Log.error(e);
return Result.getFailed(e.getErrorCode());
}
}
Aggregations