文档章节

生成字母和特殊符号随机密码

Curry_M
 Curry_M
发布于 2017/04/07 15:11
字数 235
阅读 13
收藏 0
@Service("providerService")
public class ProviderServiceImpl implements ProviderService {

	private static Logger logger = Logger.getLogger(ProviderServiceImpl.class);

	@Autowired
	private ProviderMapper providerMapper;

	static char[] bigNum = { '!', '@', '#', '$', '%', '^', '&', '*' };
	static char[] smallNum = new char[26];
	static int[] num = new int[10];

	@Override
	public String createProvider(Provider provider) {
		try {
			if (provider != null) {
				provider.setId(null);
				provider.setCreateTime(new Date());
				provider.setModifyTime(provider.getCreateTime());
				Long maxId = providerMapper.selectMaxId();
				// 生成救援商code
				String providerCode = 10000L + maxId + 1 + "";
				provider.setProviderCode(providerCode);
				// 生成key
				String key = getKey();
				provider.setPublicKey(key);
				provider.setPrivateKey(key);

				providerMapper.insertSelective(provider);
				return provider.getProviderCode();
			}
		} catch (Exception e) {
			logger.error("新增供应商异常" + e);
		}
		return null; // 新增失败
	}

	public String getKey() {
		String str = "";// 密码
		init();
		Random random = new Random();
		int big_len = 4;
		int small_len = 6;
		int num_len = 6;
		// 每一位生成对应的密码
		for (int i = 0; i < num_len; i++) {
			str += num[random.nextInt(10)];
		}
		for (int i = 0; i < small_len; i++) {
			str += smallNum[random.nextInt(26)];
		}
		for (int i = 0; i < big_len; i++) {
			str += bigNum[random.nextInt(8)];
		}
		return str;
	}

	public static void init() {
		for (int i = 97; i <= 122; i++) {// 生成小写字母表
			smallNum[i - 97] = (char) i;
		}
		for (int i = 0; i <= 9; i++) {// 生成数字表
			num[i] = i;
		}
	}

	@Override
	public void editProvider(Provider provider) {
		try {
			providerMapper.updateByCodeSelective(provider);
		} catch (Exception e) {
			logger.error("修改救援商异常" + e);
		}
	}
}

 

© 著作权归作者所有

共有 人打赏支持
Curry_M
粉丝 1
博文 85
码字总数 83163
作品 0
浦东
程序员
私信 提问
linux 中usermod、用户密码管理及密码随机生成工具mkpasswd

一、 usermod命令 1. usermod更改用户的属性 usermod -u 111 user1 更改用户user1的UID为111 usermod -g grp2 user2 更改user2的组为user2 usermod -d /home/test user3 更改user3的家目录为......

fengyunshan911
2017/08/15
0
0
usermod-passwd-mkpasswd

usermod: 更改用户相关信息: usermod -u 1111 u1(更改u1用户的用户ID为1111) usermod -g [2222/g2] u1 (将u1用户的组更改为组ID为2222的组,或者更改为组名是g2的组) usermod -d /home...

ZHENG-JY
06/10
0
0
用户及密码管理

1.usermod命令 usermod命令常用于修改用户信息,如uid,gid,用户家目录,用户shell等。 语法如下:usermod [-Options] [用户帐号] 常用选项: -c   修改用户帐号的备注文字。 -d登入目录>...

LavenDer7n
2017/10/31
0
0
usermod 命令、mkpasswd命令及用户密码管理

1、usermod命令 usermod ,是更改用户属性的命令,用法与 useradd 有点相似。主要有以下几个用法:① 更改用户 uid :usermod + -u + 指定ID + 用户名 ;② 更改用户 gid :usermod + -g + ...

JolieLin
01/02
0
0
Linux学习笔记(12)

一、usermod命令 usermod 更改用户属性的命令 -u +号码 +用户名 更改uid -g +号码/组名 +用户名 更改gid -d +/路径 +用户名 更改家目录 -s +shell +用户名 更改shell -G +组名,组名 +用户名...

小新锐
2017/10/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

十月开源项目推荐:专为 Python 初学者准备的 IDE 你用过吗?

每月新增开源项目。顾名思义,每月更新一期。我们会从社区上个月新收录的开源项目中,挑选出有价值的、有用的、优秀的、或者好玩的开源项目来和大家分享。数量不多,但我们力求推荐的都是精品...

编辑部的故事
13分钟前
6
0
Java/Android 获取文件夹的文件列表(file.listFiles())并按名称排序,中文优先

排序规则 因为是中国人,习惯性看中文文件夹放前面比较顺眼,所以在别人博客(https://blog.csdn.net/da_caoyuan/article/details/56664673)的基础上,加上了自己的排序规则。 默认排序规则...

她叫我小渝
13分钟前
0
0
RabbitMQ通过shovel插件迁移数据

前言 生产环境中会遇到RabbitMQ数据迁移的场景,例如:切换云服务厂商、不同Region之间数据迁移、新搭建RabbitMQ实例,数据需要同步至新的RabbitMQ实例。 前提条件: 源RabbitMQ实例打开了s...

中间件小哥
17分钟前
0
0
kubernetes 环境搭建

kubernetes 简介:Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful)。 点击此处查看官网详情。...

MrPei
31分钟前
1
0
关于scala macro的example

http://www.bbartosz.com/blog/2016/09/24/fun-with-scalameta-examples-part1/

Littlebox
33分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部