文档章节

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

Curry_M
 Curry_M
发布于 2017/04/07 15:11
字数 235
阅读 15
收藏 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
用户及密码管理

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

LavenDer7n
2017/10/31
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
2018/06/10
0
0
usermod 命令、mkpasswd命令及用户密码管理

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

JolieLin
2018/01/02
0
0
教你AOPR破解符号密码

Word密码破解工具可以破解数字、字母以及特殊符号组成的密码,硬件越好,破解的速度越快。AOPR试用版只能破解4位数以内的密码,下文将以Word文档为例说明Word密码破解工具试用版可以破解含有...

neluzyy1
2016/01/29
78
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
9
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
3
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
5
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部