密码短语在线生成器
怎样生成一个安全可靠且容易记忆的密码?
一直困扰着我,很多时候为了安全生成了一个非常随机的密码, 结果是别人可能猜不到,同时自己也记不得了…
当我看到一句话密码/短语密码,才真正找到了答案
一句话密码或密码短语
将一个句子变成一个容易记忆的密码
比如我爱你祖国
变成密码是
Woainizuguo,1
WANZg,1
完全是自己发挥想象,只要记住原句子,在加上自己修饰的规则,就是一个密码
在线生成短语密码-javascript版本
短语密码设计
- 采用中国4字成语作为"句子"
- 将成语拼音使用特殊字符分隔
- 添加个随机数字
短语密码实现
成语变词云
为了便于用户选择成语,将成语生成词云,用户点击某个词,表示选中
javascript 词云库
使用该库,即可生成词云
var chengyu = '满城风雨,毛遂自荐';
var datalist=[];
var keywords = chengyu.split(',').slice(1,15);
for (var name in keywords) {
datalist.push({
name: keywords[name],
value: Math.floor(Math.random() * 9) //随机大小
})
}
// 词云配置信息
ciyuntu.setOption(option = {
tooltip : {},
series : [{
type : 'wordCloud',
gridSize : 20,
sizeRange : [ 12, 50 ],
rotationRange : [ 0, 0 ],
shape : 'circle',
left : 'center',
textStyle : {
normal : {
color : function() {
return 'rgb('
+ [ Math.round(Math.random() * 320),
Math.round(Math.random() * 320),
Math.round(Math.random() * 320) ]
.join(',') + ')';
}
},
emphasis : {
shadowBlur : 10,
shadowColor : '#333'
}
},
data : datalist
}]
});
//添加点击事件,获取自定义属性
ciyuntu.on('click',function(params){
var name = params.data.name;
var value = params.data.value;
createMimi(name); //点击时 自动生成密码
});
//图表自适应
window.onresize = function () {
ciyuntu.resize();
}
更多例子,可以参考 基于echarts的词云图,点击词云图,获取自定义属性
汉字转拼音
需要将词语的每个汉字转成拼音,使用的pinyinjs
由于需求比较简单,所以只需要官方的这两个API即可
/**
* 获取汉字的拼音首字母
* @param str 汉字字符串,如果遇到非汉字则原样返回
* @param polyphone 是否支持多音字,默认false,如果为true,会返回所有可能的组合数组
*/
pinyinUtil.getFirstLetter(str, polyphone);
/**
* 根据汉字获取拼音,如果不是汉字直接返回原字符
* @param str 要转换的汉字
* @param splitter 分隔字符,默认用空格分隔
* @param withtone 返回结果是否包含声调,默认是
* @param polyphone 是否支持多音字,默认否
*/
pinyinUtil.getPinyin(str, splitter, withtone, polyphone);
/**
* 拼音转汉字,只支持单个汉字,返回所有匹配的汉字组合
* @param pinyin 单个汉字的拼音,不能包含声调
*/
pinyinUtil.getHanzi(pinyin);
getPinyin 支持输入分隔符参数,所以直接设置特殊字符为分隔符即可
封装成密码短语
一个安全的密码一般是
长度大于8位
包括大小写字母,数字,特殊字符
因此将上述生成的密码进行简单转换即可生成安全密码
密码短语上线
整个功能都是使用javascript进行实现,因此最终将该功能封装成一个html文件,需要的第三方依赖,通过jsdelivr github进行代理即可
最终上线地址密码短语在线生成器