<!--
- 功能:    生成随机密码
- 输入:    用户的设置
- 输出:    随机密码,同时拷贝到剪切板
- 作者:    maskx
- 版本:    v1.0
- 历史纪录:    2007-7-11新建    
- 创建时间:    2007-7-11
- 最后修改时间:2007-7-11  

-->

<html>
<head>
    <title>Password Creator</title>
    <hta:application id="objHTAPasswordCreator" applicationname="HTAPasswordCreator" scroll="no"
        singleinstance="yes">
</head>
<style>
BODY
{}{
   background-color: buttonface;
   font-family: Helvetica;
   font-size: 10pt;
   margin-top: 10px;
   margin-left: 20px;
   margin-right: 20px;
   margin-bottom: 10px;
}
</style>
<script language="VBScript">
'生成随机密码
  Function UserGetPassword()
    Dim strPassword
    Dim strAll,pwdLen
    Randomize
    strAll=""
    pwdLen=0
    if ckUpper.checked then
        strAll= strAll & "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    end if
    if ckLower.checked then
        strAll= strAll & "abcdefghijklmnopqrstopwxyz"
    end if
    if ckNum.checked then
        strAll= strAll & "0123456789"
    end if
    if ckSpecial.checked then
        strAll= strAll & "~!@#$%^&*()_+[]\;',./{}|:<>?"
    end if
    if strAll="" then
        MsgBox "请选择密码内容"
        exit function
    end if
    if RDConst.checked then
        pwdLen=cmbConstLen.selectedIndex+1
    else
        if cmbHeigh.selectedIndex < cmbLow.selectedIndex then
            MsgBox "密码长度最大值应该大于最小值"
            exit function
        end if
        pwdLen=Int((cmbHeigh.selectedIndex - cmbLow.selectedIndex + 1)) * Rnd + cmbLow.selectedIndex +1
    end if

    strPassword=RoundStr(strAll,pwdLen)
    TxtPWD.Value=strPassword
    document.parentwindow.clipboardData.SetData "text", strPassword
  End Function
  
  Function RoundStr( str,Num) 
    s = "" 
    for i = 1 to Num 
        Randomize 
        strLen = Len(str) 
        t = Round((RND * (strLen-1))+1)     
        s = s & Mid(str,t,1) 
    Next 
    RoundStr = s 
End Function 

</script>

<body>
    <table cellpadding="0" cellspacing="0" width="100%">
        <tr>
            <td align="center">
                点击"生成密码"按钮 <br/> 在生成密码的同时也将密码拷贝进剪切板
                <br/><br/>
            </td>
        </tr>
        <tr>
            <td align="center">
                <table cellpadding="0" cellspacing="0">
                    <tr>
                        <td style="width: 114px; height: 18px">
                            密码内容</td>
                        <td style="height: 18px">
                            <input id="ckNum" checked="checked" type="checkbox" />数字
                        </td>
                        <td style="height: 18px">
                            <input id="ckLower" checked="checked" type="checkbox" />小写字母
                        </td>
                    </tr>
                    <tr>
                        <td style="width: 114px; height: 20px">
                            &nbsp;</td>
                        <td style="height: 20px">
                            <input id="ckSpecial" checked="checked" type="checkbox" />特殊字符</td>
                        <td style="height: 20px">
                            <input id="ckUpper" checked="checked" type="checkbox" />大写字母</td>
                    </tr>
                    <tr>
                        <td style="width: 114px">
                            密码长度</td>
                        <td>
                            <input id="RDConst" type="radio" checked="CHECKED" name="pwdLen" />固定长度</td>
                        <td>
                            <select id="cmbConstLen">
                                <option>1</option>
                                <option>2</option>
                                <option>3</option>
                                <option>4</option>
                                <option>5</option>
                                <option>6</option>
                                <option>7</option>
                                <option selected="selected">8</option>
                                <option>9</option>
                                <option>10</option>
                                <option>11</option>
                                <option>12</option>
                                <option>13</option>
                                <option>14</option>
                                <option>15</option>
                                <option>16</option>
                                <option>17</option>
                                <option>18</option>
                                <option>19</option>
                                <option>20</option>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td style="width: 114px">
                        </td>
                        <td>
                            <input id="RDRandm" type="radio" name="pwdLen" />变化长度</td>
                        <td>
                            <select id="cmbLow">
                                <option>1</option>
                                <option selected="selected">2</option>
                                <option>3</option>
                                <option>4</option>
                                <option>5</option>
                                <option>6</option>
                                <option>7</option>
                                <option>8</option>
                                <option>9</option>
                                <option>10</option>
                                <option>11</option>
                                <option>12</option>
                                <option>13</option>
                                <option>14</option>
                                <option>15</option>
                                <option>16</option>
                                <option>17</option>
                                <option>18</option>
                                <option>19</option>
                                <option>20</option>
                            </select>
                            -
                            <select id="cmbHeigh">
                                <option>1</option>
                                <option>2</option>
                                <option>3</option>
                                <option>4</option>
                                <option>5</option>
                                <option>6</option>
                                <option>7</option>
                                <option>8</option>
                                <option>9</option>
                                <option>10</option>
                                <option selected="selected">11</option>
                                <option>12</option>
                                <option>13</option>
                                <option>14</option>
                                <option>15</option>
                                <option>16</option>
                                <option>17</option>
                                <option>18</option>
                                <option>19</option>
                                <option>20</option>
                            </select>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
        <tr>
        
            <td align="center">
            <br /><br />
                <table>
                    <tr>
                        <td>
                            <input type="text" name="TxtPWD" width="100%" style="width: 209px"></td>
                        <td>
                            <input id="btnCreatePWD" class="button" type="button" value="生成密码" name="btnCreatePWD"
                                onclick="UserGetPassword">
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
</body>
</html>

转载于:https://www.cnblogs.com/maskx/archive/2007/07/23/828717.html

Password Creator(HTA)相关推荐

  1. 在Filfter中使用注解了spring 的bean,报javax.naming.NamingException: Cannot create resource instance...

    为什么80%的码农都做不了架构师?>>>    严重: Servlet /xcfhinvoices threw load() exception javax.naming.Namin ...

  2. Laravel的created_at与deleted_at 类型

    文章目录 前言 model->created_at 为啥是 Carbon对象 model->toArray()['created_at'] 为啥是国际标准时间 可以通过重写 seriali ...

  3. spring boot 动态切换数据源(数据源信息从数据库中读取)

    项目要求从多个源库(oracle,haha,pg)里面读取schema,table,字段等信息,spring提供了AbstractRoutingDataSource类实现动态数据源,下面就简单介绍一下 ...

  4. spring boot 动态切换数据源实现多租户开发

    之前的文章有介绍过spring boot 动态切换数据源spring boot 动态切换数据源(数据源信息从数据库中读取)_lgq2016的博客-CSDN博客,今天简单介绍一下动态数据源切换实战,主要 ...

  5. node 链接MySql数据库并 进行增删改查

    在Navicat中创建数据库创建表 那么就开始吧! 一.链接数据库 mysql - npmA node.js driver for mysql. It is written in JavaScript ...

  6. Android开发之第三方框架使用汇总

    1. image loading 框架: 1.1 Glide1.2 Picasso1.3 后续更新... 2.网络框架: 2.1 xUtil32.2 OkHttp32.3 Retrofit2.4 后续 ...

  7. 在cocos creator 中使用websocket

    客户端 参考:https://allknowboy.com/posts/e8f856f4/ NetConfig.js /*** 当前的网络配置*/ module.exports={host:" ...

  8. 【hta版】获取AppStore上架后的应用版本号

    之前写过一篇文章:获取AppStore上架后的应用版本号,那一篇文章使用node.js实现,存在的问题就是如果在没有安装node.js运行环境下是无法运行的,而且该程序依赖request模块,为了方便 ...

  9. cocos creator 学习随笔 day03 节点和组件属性

    目录 节点本身属性 控件属性 场景 空节点 3D对象 2D对象 UI组件 光线 特效 摄像机 地形 节点本身属性 第一栏为节点名,可修改,前面得勾,是表示是否使用该节点,去掉代表隐藏该节点,但是该节点 ...

最新文章

  1. 【高并发】为何高并发系统中都要使用消息队列?这次彻底懂了!
  2. Windows10 JDK9安装及配置环境变量与Eclipse安装
  3. tableau实战系列(二十八)-以可视化的方式打开关联分析算法购物篮分析(Market Basket Analysis)
  4. hash 值重复_“重复”相关的问题
  5. 第二章 认识计算机硬件
  6. 通俗易懂的SpringBoot教程---day2---Springboot配置文件
  7. python给js变量赋值_python 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)...
  8. 准确率 召回率_机器学习中F值(F-Measure)、准确率(Precision)、召回率(Recall)
  9. 26. PHP 文件打开/读取/读取
  10. 基于激光雷达的3D实时车辆跟踪
  11. 竞赛保研(自动化专业)
  12. iphone机型分辨率
  13. 多层板PCB设计知识
  14. 操作系统实现IO的三种方式
  15. 电信2班——第一次作业助教总结
  16. 红队作业 | 信息收集工具汇总
  17. 【电路理论】KCL、KVL、线性直流电路各大方法、定理详解
  18. 离散正弦变换(DST)实现(cpu和cuda)
  19. codeup27978 除法算式(NOIP1995普及组第1题)
  20. js 二维码操作加上图标

热门文章

  1. 1月28日云栖精选夜读 | 终于等到你!阿里正式向 Apache Flink 贡献 Blink 源码
  2. java面试-Java并发编程(二)——重排序
  3. 【心得】Ctrl+Z、\n、\0、eof的区别和用法
  4. 列出C#进程以及详细信息
  5. Inpainting图像修复halcon算子,持续更新
  6. mysql-nt.exe w3wp.exe cpu 100%_w3wp.exe(IIS ) CPU 占用 100% 的常见原因及解决办法
  7. goto语句_11. Go语言流程控制:goto 无条件跳转
  8. arduino byte转string_Java数组转List集合的三驾马车
  9. 安卓手机浏览器排行_安卓手机双11性价比排行发布|拯救者手机发透明版|小米发大光圈手机镜头...
  10. nginx $mail-send()发送邮件报错_基于SMTP协议的E-MAIL电子邮件发送客户端软件C#实现...