花密 JavaScript 核心代码

花密简介

“花密”提供一种简单的密码管理方法,你只需要记住一个“记忆密码”,为不同的账号设置不同的“区分代号”,然后通过“花密”计算就可以得到不同的复杂密码。

核心代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script src="https://raw.githubusercontent.com/blueimp/JavaScript-MD5/master/js/md5.min.js"></script>

<script type="text/javascript">
function generateFPCode(password, key, length) {
length = length || 16;
if (password && key && (1 < length) && (length < 33)) {
var hmd5 = md5(password, key);
var rule = md5(hmd5, 'kise').split("");
var source = md5(hmd5, 'snow').split("");
var str = "sunlovesnow1990090127xykab";
for (var i = 0; i < 32; i++) {
if (isNaN(source[i])) {
if (str.search(rule[i]) > -1) {
source[i] = source[i].toUpperCase();
}
}
}
var code32 = source.join("");
var code01 = code32.slice(0, 1);
code32 = (isNaN(code01) ? code01 : "K") + code32.slice(1, length);
return code32;
}
}
</script>