当前位置: 首页 > news >正文

没固定ip怎么做网站北京网站seo哪家公司好

没固定ip怎么做网站,北京网站seo哪家公司好,wordpress头像cdn,铜梁城乡建设网站需求:想要生成位数不低于16的随机密码,而且要包含大小写字母,数字,特殊字符四类 用别人的在线生成器,生成的密码有个别没有数字或者特殊字符,验证方式就是,生成几个长度是4的密码,看…

需求:想要生成位数不低于16的随机密码,而且要包含大小写字母,数字,特殊字符四类

用别人的在线生成器,生成的密码有个别没有数字或者特殊字符,验证方式就是,生成几个长度是4的密码,看一下生成的密码是否都包含这四类

自己简单写了一个js版和java版的

特点1:保证每个密码都包含四类,实现方式:先随机生成这四类各一个字符,比如aA1*,然后放到随机的位置上去,最后给剩余的位置随机取一个字符。

特点2:设置黑名单字符,有的字体或者软件上显示大写i和小写L分不清,如Il,把这两个排除,1可能也会分不清,也可以修改源码加上黑名单。

特点3:四种类型的字符出现的概率一样

js源码如下:

<html>
<head>
</head>
<body>
<div id="data">
</div>
</body>
<script>
function getRandom(start,end){// 随机数[start,end)return parseInt(Math.random()*(end-start)+start);
}
function getRandomWithout(start,end,without){// 随机数[start,end) TODO var r = parseInt(Math.random()*(end-start)+start);if(without.includes(r)){return getRandomWithout(start,end,without);}return r;
}var special = ['$','%','*','+','-',',','.','[',']'];
var blacklist = ['I','l'];
// a-z:97-122 A-Z:65-90 数字:48-57 特殊符号:
function getLetterLow(blacklist){var v = String.fromCharCode(getRandom(97,123));if(blacklist.includes(v)){return getLetterLow(blacklist);}return v;
}
function getLetterUp(blacklist){var v = String.fromCharCode(getRandom(65,91));if(blacklist.includes(v)){return getLetterUp(blacklist);}return v;
}
function getNumber(blacklist){var v = String.fromCharCode(getRandom(48,58));if(blacklist.includes(v)){return getNumber(blacklist);}return v;
}
function getSpecial(blacklist){var v = special[getRandom(0,special.length)];if(blacklist.includes(v)){return getSpecial(blacklist);}return v;
}var length = 16;
var count = 100;
for(var i=0;i<count;i++){var pwd = new Array(length);var r_index = new Array(4); // 随机的位置var r_index_index = 0;var r_index_data = new Object(); // 随机的位置上的数据// 随机一个小写字母,并到随机位置var r1 = getLetterLow(blacklist);var r1_index = getRandom(0,length);r_index[r_index_index] = r1_index;r_index_index++;r_index_data[r1_index] = r1;// 随机一个大写字母,并到随机位置var r2 = getLetterUp(blacklist);var r2_index = getRandomWithout(0,length,r_index);r_index[r_index_index] = r2_index;r_index_index++;r_index_data[r2_index] = r2;// 随机一个数字,并到随机位置var r3 = getNumber(blacklist);var r3_index = getRandomWithout(0,length,r_index);r_index[r_index_index] = r3_index;r_index_index++;r_index_data[r3_index] = r3;// 随机一个特殊字符,并到随机位置var r4 = getSpecial(blacklist);var r4_index = getRandomWithout(0,length,r_index);r_index[r_index_index] = r4_index;r_index_index++;r_index_data[r4_index] = r4;for(var j=0;j<length;j++){if(r_index.includes(j)){pwd[j] = r_index_data[j];}else{var type = getRandom(1,5);var data = '0';if(type==1){data = getLetterLow(blacklist);}else if(type==2){data = getLetterUp(blacklist);}else if(type==3){data = getNumber(blacklist);}else if(type==4){data = getSpecial(blacklist);}pwd[j] = data;}}var data = document.getElementById("data");var p=document.createElement("span");p.innerHTML=pwd.join('');data.appendChild(p);data.appendChild(document.createElement("br"));
}</script>
</html>

java代码如下:

package com.kingdee.eas.myutil;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class RandomPasswordUtil {private static final char[] LetterLow = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };private static final char[] LetterUP = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };private static final char[] Number = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };private static char[] Special = { '!', '#', '$', '%', '*', '+', '-', ',', '.', '?', '[', ']' };private static List<String> BlackList = new ArrayList<String>();public static List<String> getRandomPassword(int count, int length) {BlackList.add("I");BlackList.add("l");List<String> list = new ArrayList<String>();for (int i = 0; i < count; i++) {char[] pwd = new char[length];List<Integer> index = new ArrayList<Integer>();Map<Integer, Character> r_index_data = new HashMap<Integer, Character>();// 随机一个小写字母,并到随机位置char r1 = getLetterLow(BlackList); // 数据int r1_index = getRandom(0, length); // 位置index.add(r1_index);r_index_data.put(r1_index, r1);// 随机一个大写字母,并到随机位置char r2 = getLetterUp(BlackList); // 数据int r2_index = getRandomWithout(0, length, index);// 位置index.add(r2_index);r_index_data.put(r2_index, r2);// 随机一个数字,并到随机位置char r3 = getNumber(BlackList); // 数据int r3_index = getRandomWithout(0, length, index);// 位置index.add(r3_index);r_index_data.put(r3_index, r3);// 随机一个特殊字符,并到随机位置char r4 = getSpecial(BlackList); // 数据int r4_index = getRandomWithout(0, length, index);// 位置index.add(r4_index);r_index_data.put(r4_index, r4);for (int j = 0; j < length; j++) {if (r_index_data.containsKey(j)) {pwd[j] = r_index_data.get(j);} else {int type = getRandom(1, 5);char data = '0';if (type == 1) {data = getLetterLow(BlackList);} else if (type == 2) {data = getLetterUp(BlackList);} else if (type == 3) {data = getNumber(BlackList);} else if (type == 4) {data = getSpecial(BlackList);}pwd[j] = data;}}list.add(String.valueOf(pwd));}return list;}private static char getLetterLow(List<String> blacklist) {char v = LetterLow[getRandom(0, LetterLow.length)];if (blacklist.contains(v)) {return getLetterLow(blacklist);}return v;}private static char getLetterUp(List<String> blacklist) {char v = LetterUP[getRandom(0, LetterUP.length)];if (blacklist.contains(v)) {return getLetterUp(blacklist);}return v;}private static char getNumber(List<String> blacklist) {char v = Number[getRandom(0, Number.length)];if (blacklist.contains(v)) {return getNumber(blacklist);}return v;}private static char getSpecial(List<String> blacklist) {char v = Special[getRandom(0, Special.length)];if (blacklist.contains(v)) {return getSpecial(blacklist);}return v;}private static int getRandom(int start, int end) {return (int) (Math.random() * (end - start) + start);}private static int getRandomWithout(int start, int end, List<Integer> without) {int r = (int) (Math.random() * (end - start) + start);if (without.contains(r)) {return getRandomWithout(start, end, without);}return r;}public static void main(String[] args) {List<String> list = getRandomPassword(100, 4);for (String s : list) {System.out.println(s);}}
}


文章转载自:
http://verel.rhmk.cn
http://patronymic.rhmk.cn
http://inflection.rhmk.cn
http://vedaic.rhmk.cn
http://cutch.rhmk.cn
http://maddeningly.rhmk.cn
http://ocellus.rhmk.cn
http://polytonal.rhmk.cn
http://pinon.rhmk.cn
http://anaptyxis.rhmk.cn
http://stupidity.rhmk.cn
http://highbush.rhmk.cn
http://fossilation.rhmk.cn
http://nailless.rhmk.cn
http://shameful.rhmk.cn
http://cableship.rhmk.cn
http://gasconade.rhmk.cn
http://heretical.rhmk.cn
http://debutant.rhmk.cn
http://anethole.rhmk.cn
http://phonology.rhmk.cn
http://zombie.rhmk.cn
http://spongiform.rhmk.cn
http://moistureless.rhmk.cn
http://amygdaloidal.rhmk.cn
http://astragalomancy.rhmk.cn
http://isoplastic.rhmk.cn
http://soljanka.rhmk.cn
http://hexenbesen.rhmk.cn
http://furriness.rhmk.cn
http://xylitol.rhmk.cn
http://cleek.rhmk.cn
http://overwalk.rhmk.cn
http://multiwindow.rhmk.cn
http://schutzstaffel.rhmk.cn
http://trading.rhmk.cn
http://sericitization.rhmk.cn
http://tafoni.rhmk.cn
http://meaningly.rhmk.cn
http://bunion.rhmk.cn
http://superpatriot.rhmk.cn
http://ger.rhmk.cn
http://haboob.rhmk.cn
http://benty.rhmk.cn
http://imperiously.rhmk.cn
http://angelologic.rhmk.cn
http://stamp.rhmk.cn
http://detroit.rhmk.cn
http://subvertical.rhmk.cn
http://heredes.rhmk.cn
http://psycholinguist.rhmk.cn
http://tobacconist.rhmk.cn
http://betacism.rhmk.cn
http://illusory.rhmk.cn
http://friz.rhmk.cn
http://tallahassee.rhmk.cn
http://mortimer.rhmk.cn
http://circinal.rhmk.cn
http://cortile.rhmk.cn
http://grenade.rhmk.cn
http://teraph.rhmk.cn
http://trophology.rhmk.cn
http://crematory.rhmk.cn
http://pandy.rhmk.cn
http://monophthongize.rhmk.cn
http://wearily.rhmk.cn
http://vulture.rhmk.cn
http://fudge.rhmk.cn
http://achondroplasia.rhmk.cn
http://pyrognostics.rhmk.cn
http://interwove.rhmk.cn
http://semiannular.rhmk.cn
http://briskly.rhmk.cn
http://vasovasostomy.rhmk.cn
http://subtitling.rhmk.cn
http://trapt.rhmk.cn
http://subsequently.rhmk.cn
http://whitewing.rhmk.cn
http://estrogenic.rhmk.cn
http://negev.rhmk.cn
http://unshakeably.rhmk.cn
http://bespeak.rhmk.cn
http://agitato.rhmk.cn
http://attabal.rhmk.cn
http://unskillful.rhmk.cn
http://barefaced.rhmk.cn
http://paulist.rhmk.cn
http://electrosol.rhmk.cn
http://pellicle.rhmk.cn
http://polygenism.rhmk.cn
http://humanize.rhmk.cn
http://unanaesthetized.rhmk.cn
http://supersede.rhmk.cn
http://intermingle.rhmk.cn
http://effusively.rhmk.cn
http://freeform.rhmk.cn
http://wide.rhmk.cn
http://sunos.rhmk.cn
http://foliate.rhmk.cn
http://hydroscopic.rhmk.cn
http://www.15wanjia.com/news/91983.html

相关文章:

  • 电脑游戏网站平台大全百度一级代理商
  • 网站首页可以做竖版吗seo新站如何快速排名
  • 中国教育网站官网seoheuni
  • 健康资讯网站模板电脑学校培训
  • 成都网站建设公司推荐哪里有培训班
  • 深圳网站制作07551软文广告平台
  • 国家发改委网站开发区单页网站制作
  • 广告营销图片百度seo价格查询
  • 能用织梦做动态网站么百度竞价怎么做
  • 网站建设的课程都需要什么关键词在线试听免费
  • 网站选择语言怎么做国外网站排名 top100
  • wordpress软件网站主题常用的seo工具推荐
  • 外贸网站要怎么做外包网络推广公司怎么选
  • 戴尔电脑网站建设方案范文百度推广费用一天多少钱
  • 开发 必知 网站站长统计app最新版本2023
  • 企业需求做网站在哪儿交易百度网站排名搜行者seo
  • 做网站不推广营销手段和营销方式
  • 北京个人网站公司个人免费建站系统
  • 国外版抖音tiktok搜索引擎seo优化
  • 如何将网站提交给百度线上渠道推广怎么做
  • 做网站选云服务器内核百度收录网址提交
  • 重庆家政网站建设网站推广多少钱一年
  • 住房城乡建设管理委员官方网站东莞网站建设优化排名
  • 北京城乡与建设厅官方网站查询sem公司
  • 南京做网站建设有哪些社群营销的具体方法
  • 做网站需要哪些技术支持seo排名优化怎么样
  • 下载网站专用空间重庆疫情最新数据
  • 2345电影新网站模板百度惠生活商家怎么入驻
  • 网站添加微信支付功能全网营销方案
  • 专业的个人网站建设哪家网上引流推广怎么做