文档章节

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

Curry_M
 Curry_M
发布于 2017/04/07 15:11
字数 235
阅读 9
收藏 0
点赞 0
评论 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
博文 88
码字总数 84728
作品 0
浦东
程序员
用户及密码管理

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

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

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

JolieLin
01/02
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
2017-12-26 Linux学习笔记

3.4 usermod命令 usermod用于修改用户账户,其语法为:usermod [选项] username-u 指定UID-g 指定GID或组名(同一时间只允许1个组)-d 指定家目录-s 指定用户shell-G 指定扩展组(允许多个组,即一...

XiaoluHuang
2017/12/26
0
0
Linux基础(day12)

3.4 usermod命令 usermod命令介绍 usermod命令,更改用户属性的命令 用户的信息保存在/etc/passwd文件中 usermod命令用法 usermod和useradd命令用法相似 usermod格式 usermod -u 111 usernam...

运维小白
2017/10/31
0
0
【CentOS 7笔记16】,usermod和mkpasswd#171030

hellopasswd --- 一. usermod 二. 用户密码管理 三. make passwd 【CentOS 7基础笔记14】,其他 【CentOS 7基础笔记15】,用户与用户组 【CentOS 7基础笔记16】,usermod和mkpasswd 【CentO...

hellopasswd
2017/10/30
0
0
教你AOPR破解符号密码

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

neluzyy1
2016/01/29
78
0
Linux学习笔记(12)

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

小新锐
2017/10/28
0
0
黑客语(Leet)

黑客语(Leet) Leet是从网络发展起来的一种文字书写方式。通常将英语中的字母替换为数字和特殊符号。这种方式被很多黑客组织所使用。由于具有隐密性,所以它也广泛被用于密码中。使用Leet书...

大学霸
2016/11/11
39
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Hbase增删查改工具类

package cn.hljmobile.tagcloud.service.data.repository;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util......

gulf
11分钟前
0
0
详解机器学习中的梯度消失、爆炸原因及其解决方法

前言 本文主要深入介绍深度学习中的梯度消失和梯度爆炸的问题以及解决方案。本文分为三部分,第一部分主要直观的介绍深度学习中为什么使用梯度更新,第二部分主要介绍深度学习中梯度消失及爆...

tantexian
11分钟前
0
0
JavaMail 发送邮件

参考 https://www.cnblogs.com/xdp-gacl/p/4216311.html 发送html格式邮件 package com.example.stumgr;import java.util.Properties;import javax.mail.Message;import javax.mail......

阿豪boy
13分钟前
0
0
Mongodb安装教程

MongoDB是一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bso...

木筏笔歆
14分钟前
0
0
Hadoop之YARN命令

概述 YARN命令是调用bin/yarn脚本文件,如果运行yarn脚本没有带任何参数,则会打印yarn所有命令的描述。 使用: yarn [--config confdir] COMMAND [--loglevel loglevel] [GENERIC_OPTIONS] [...

舒运
15分钟前
0
0
个推数据统计产品(个数)iOS集成实践

最近业务方给我们部门提了新的需求,希望能一站式统计APP的几项重要数据。这次我们尝试使用的是个推(之前专门做消息推送的)旗下新推出的产品“个数·应用统计”,根据官方的说法,个推的数...

个推
16分钟前
0
0
Git 修改提交的用户名和邮箱名字

在通过git提交代码时,发现提交的用户名是自己mac的账户名,想要修改为其他名字和邮箱。 首先可以通过以下命令查看当前配置下的信息,包括用户名和邮箱: > git config --list 针对单项目的相...

edwardGe
19分钟前
0
0
Object.defineProperty()

Object.defineProperty(obj, props)方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。 obj 在其上定义或修改属性的对象 props 要定义其可枚举属性或修改的属性描述符的对象 ...

litCabbage
21分钟前
0
0
JEESZ分布式框架--单点登录集成方案(三)

多项目集成单点登录配置 当sso验证完成之后,客户端系统需要接收sso系统返回的结果时,需要定义一个过滤器获取返回结果,然后针对返回结果做相关处理.如果不需要做处理时,此处Filter也可以不...

明理萝
21分钟前
1
1
超简单的利用plist 查看ipa包名及其它信息

1.下载ipa安装包 2.用rar等工具打开 3.将iTunesMetadata.plist文件解压出来 4.用http://www.atool.org/plist_reader.php在线反编译工具 5.在其中中找到softwareVersionBundleId 就是包名...

xiaogg
22分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部