随机编码生成器&MD5加密字符串工具
发布日期:2021-06-30 15:26:38 浏览次数:2 分类:技术文章

本文共 2521 字,大约阅读时间需要 8 分钟。

效果图(下图)

功能:1)随机编码生成   2)MD5加密字符串(支持大小写,16-32位切换)

本工具基于以前写的NFC读卡写入系统改版而成。

菜单:开始》退出;工具》记事本+计算器+控制面板;帮助:关于

其他选项一目了然;规则更改必须点击下应用规则再随机才能生效!md5加密带后缀特殊用途加了一个自定义的后缀(您可能用不到)

本计划是另一系统的 序列号(注册包)生成器 的辅助工具(后期可能用到)防止重复或猜测,无规则生成即可。

核心代码摘录如下:

//核心代码        public static int rndRule = 0;//规则A,B=1        public static int rule_len = 12;//规则长度默认        public static string rule_pre = "9i";//前缀        public static bool rule_numberic = true;        public static bool rule_spec = false;//特殊字符        public static bool rule_lchar = true;//小写字母        public static bool rule_uchar = false;//大写字母        public static string RndBH()        {            long tick = DateTime.Now.Ticks;            Random _random = new Random((int)(tick & 0xffffffffL) | (int)(tick >> 32));            if (rndRule == 0)            {                System.Threading.Thread.Sleep(10);//延时目的防止重复                Int32 min =(int) Math.Pow(10,rule_len - rule_pre.Length - 9)/10;//Math.Pow(3,5)                Int32 max = (int)Math.Pow(10, rule_len - rule_pre.Length - 9 + 1)/10-1;                string rnd = _random.Next(min, max).ToString();//数字                System.Threading.Thread.Sleep(10);//延时目的防止重复                return rule_pre + DateTime.Now.ToString("yyMMddfff") + rnd;            }            else            {                return GetRandomString( rule_len,rule_numberic,rule_lchar,rule_uchar,rule_spec,rule_pre);            }        }        ///        ///生成随机字符串         ///        ///目标字符串的长度        ///是否包含数字,1=包含,默认为包含        ///是否包含小写字母,1=包含,默认为包含        ///是否包含大写字母,1=包含,默认为包含        ///是否包含特殊字符,1=包含,默认为不包含        ///要包含的自定义字符,直接输入要包含的字符列表        ///
指定长度的随机字符串
public static string GetRandomString(int length, bool useNum, bool useLow, bool useUpp, bool useSpe, string custom) { byte[] b = new byte[4]; new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(b); Random r = new Random(BitConverter.ToInt32(b, 0)); string s = null, str = custom; if (useNum == true) { str += "0123456789"; } if (useLow == true) { str += "abcdefghijklmnopqrstuvwxyz"; } if (useUpp == true) { str += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; } if (useSpe == true) { str += "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"; } for (int i = 0; i < length; i++) { s += str.Substring(r.Next(0, str.Length - 1), 1); } return s; }

开发环境:.net3.0+vs2008+winserver2008r2

仅供学习参考;不喜勿喷!下载地址见我的下载中心(编号NO:79)

转载地址:https://jiuai.blog.csdn.net/article/details/115982294 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:arduino时间同步服务器(库文件NTPClient)可以做内部时钟可以做定时任务计划任务等
下一篇:c#控件chart制作自动更新的温湿度实时曲线图

发表评论

最新留言

不错!
[***.144.177.141]2024年05月04日 07时22分55秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章