当前位置: 首页 > news >正文

徐城乡建设局网站广州网站推广找谁

徐城乡建设局网站,广州网站推广找谁,网站模板种类,微信小程序制作团队目录 一、问题背景二、修改方法2.1 修改种子2.2 使用linux中的 /dev/urandom 生成随机数 三、/dev/random 和 /dev/urandom 的原理3.1 参考连接3.2 重难点总结3.2.1 生成随机数的原理3.2.2 随机数生成器的结构3.2.3 二者的区别和选择 四、在代码的使用方法 一、问题背景 在一个… 目录 一、问题背景二、修改方法2.1 修改种子2.2 使用linux中的 /dev/urandom 生成随机数 三、/dev/random 和 /dev/urandom 的原理3.1 参考连接3.2 重难点总结3.2.1 生成随机数的原理3.2.2 随机数生成器的结构3.2.3 二者的区别和选择 四、在代码的使用方法 一、问题背景 在一个循环中生成多组随机值发现最终的结果都一样结果是调用的函数如下在函数中设置了随机种子且是以秒为单位那么在一秒类由于都是用一个种子srand又是伪随机所以最终生成的都是同一组随机字符。 static void generate_random_name(char *prefix, char* secName, int size) {char buff[7] {0};srand(time(NULL));const char ALLOWED[] abcdefghijklmnopqrstuvwxyz1234567890;int i 0;int c 0;int nbAllowed sizeof(ALLOWED) - 1;for(i 0; i 6; i) {c rand() % nbAllowed ;buff[i] ALLOWED[c];}snprintf(secName, size, %s_%s, prefix, buff);return;} 二、修改方法 2.1 修改种子 1将srand(time(NULL)); 放到循环外面循环过程中不必每次循序都设置种子 2时间使用微秒来设置种子srand((unsigned int)ts.tv_usec);以避免在短时间内多次调用随机数生成器时生成相同的序列。 2.2 使用linux中的 /dev/urandom 生成随机数 修改后的函数生成方式如下 static void generate_section_random_name(char *prefix, char* secName, int size) {char buff[7] {0};char cmd[BUF_LEN_128] {0};snprintf(cmd, sizeof(cmd), head /dev/urandom | tr -dc a-z0-9 | head -c %d, sizeof(buff) - 1);do_cmd_fetch(cmd, buff, sizeof(buff));if (buff[0]) {snprintf(secName, size, %s_%s, prefix, buff);}return; }三、/dev/random 和 /dev/urandom 的原理 3.1 参考连接 /dev/random 和 /dev/urandom 的原理 关于 /dev/urandom 的流言终结 关于 /dev/urandom 的流言终结的原文 使用/dev/urandom生成固定位数的随机数 3.2 重难点总结 3.2.1 生成随机数的原理 随机数生成器会收集系统环境中各种数据比如鼠标的移动键盘的输入, 终端的连接以及断开音视频的播放系统中断内存 CPU 的使用等等; 生成器把收集到的各种环境数据放入一个池子 ( 熵池 ) 中然后将这些数据进行去偏、漂白主要目的也是使得数据更加无序更加难以猜测或者预料得到; 有了大量的环境数据之后每次获取随机数时从池子中读取指定的字节序列这些字节序列就是生成器生成的随机数. 3.2.2 随机数生成器的结构 Linux 4.8 之前 Linux 4.8 以后 简化图 3.2.3 二者的区别和选择 具体的可以看我上述分享的两篇文章。 别问问就是用 /dev/urandom ! 四、在代码的使用方法 首先/dev/urandom 设备生成的随机字节流通常是不经过编码的原始字节因此直接将其打印到终端可能会显示为乱码。这是因为终端尝试使用默认的字符编码通常是 UTF-8来解释这些字节但这些字节可能不是有效的 UTF-8 字符。 所以需要做一些转化比如 1.将随机字节转换为十六进制表示 head -c 10 /dev/urandom | xxd -p2.将随机字节转换为可打印字符集合 head -c 10 /dev/urandom | tr -dc [:print:]3.将随机字节转换为Base64编码可能更适合在终端中显示 head -c 10 /dev/urandom | base64当然也可以使用/dev/urandom生成固定位数的随机数 1.纯数字 head /dev/urandom | tr -dc 0-9 | head -c n2.小写字母数字 head /dev/urandom | tr -dc a-z0-9 | head -c n3.大小写字母数字 head /dev/urandom | tr -dc A-Za-z0-9 | head -c n最后的n代表要生成的随机数的位数
http://www.w-s-a.com/news/136516/

相关文章:

  • 营销型网站建设与网页设计网站建设 amp 找VX cp5173
  • 新网站该如何做网站优化呢儿童手工
  • 湖北现代城市建设集团网站搜索引擎优化的作用
  • 上海做网站吧开一家软件开发公司需要什么
  • 阿里巴巴网站建设改图片建设厅官方网站河南
  • 邓砚谷电子商务网站建设镇江网
  • 网站空间支持什么程序工作服款式
  • 网站单页品牌网站建设 蝌蚪5小
  • 怎么做外贸网站需注意哪些做电脑系统的网站
  • 网站建设介绍推广用语河南网站优化外包服务
  • 课程网站模板贵州省城乡与建设厅网站
  • 网站模板及源码谁家网站用户体验做的好
  • 做网站的技术要求搜索栏在wordpress菜单上位置
  • 如何给网站弄ftpwordpress怎么添加关键词描述
  • 成都工程建设信息网站金科网站建设
  • 传媒公司 网站开发厦门网站建设门户
  • 宿城区建设局网站做网站的绿色背景图
  • 网站空间托管合同 .doc网站开发团队 组建
  • 网站建设书本信息it运维服务
  • 四核网站建设设计网站流程
  • ui设计网站设计与网页制作视频教程wordpress插件漏洞利用
  • 网站建设公司排名前十做网站的最终目的
  • 选择网站开发公司的标准中国网站建设市场规模
  • 衣服网站建设策划书广州住房和城乡建设部网站
  • 微商城科技淄博网站建设优化seo
  • 杭州 网站设计制作东圃手机网站开发
  • 网站文章页内链结构不好可以改吗微信平台如何开发
  • 炫酷业务网站课程网站如何建设方案
  • 网站建设服务器可以租吗wordpress微信打赏
  • 网站制作的重要流程图大连网站优化快速排名