// ==UserScript== // @name 密码生成器 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 每次访问一个网页,会生成一个对应密码,按F12在控制台查看 // @author hlmio // @match *://*/* // @require https://cdn.jsdelivr.net/npm/md5-js@0.0.3/md5.min.js // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; // Your code here... // 配置变量 var 核心秘钥 = "hlmio" var 密码长度 = 16 var 为了满足大小写和特殊字符_添加的后缀 = "@Aa1" var 第一次md5后_交换哪一位字符_可选值为1到32 = 2 var 第一次md5后_删掉末尾的几位字符 = 3 var 自动获取的辅助秘钥_域名 = window.location.host var 秘钥 = 核心秘钥 + 自动获取的辅助秘钥_域名 var 第一次md5后的结果 = md5(秘钥) var 第几位 = 第一次md5后_交换哪一位字符_可选值为1到32 - 1 var md5数组 = 第一次md5后的结果.split('') var a = md5数组[0] var b = md5数组[第几位] md5数组.splice(0,1,b) md5数组.splice(第几位,1,a) var 删除位数 = 第一次md5后_删掉末尾的几位字符 md5数组.splice(-删除位数,删除位数) 第一次md5后的结果 = md5数组.join('') var 第二次md5后的结果 = md5(第一次md5后的结果) var 后缀 = 为了满足大小写和特殊字符_添加的后缀 var 保留位数 = 密码长度 - 后缀.length var 最终密码 = 第二次md5后的结果.substr(0,保留位数) + 后缀 console.log("" + 自动获取的辅助秘钥_域名 + " 最终密码:") console.log(最终密码) })();