摘要: 构造法生成随机数 顾名思义构造法就是要预先设定好数组的成员,一般都希望数组成员的分布是均匀的,所以要包括所有元素,并且元素个数相等。就现在的文件体系,最小单位是字节,一个字节等于8位二进制数。数组元素有256个字节,字节数值从 0到 255。这样构造的数组长度应该是256的倍数。 构造好的数组要想过度到随机数组,对数组进行随机排序即可。一般用随机函数来完成随机排序这里仅举一例:为作用到每个元素,采用所有元素依序号循环的方式,在循环中你可以用随机函数生成一个在数组长度内的数作为交换序号,用此序号的元素和当前的循环序号的元素作数值交换,依次向下则所有元素都被交换了。数组原来是分布均匀的规律性数.. 阅读全文
posted @ 2014-02-06 15:03 sjdbky 阅读(620) 评论(0) 推荐(0) 编辑
摘要: 有一种论调说是计算机是有限状态机不能生成随机数,实际上我们找不到这样严密的东西。在这里我们告诉不相信计算机能生成随机数的人一个方法如何从计算机得到随机数。这个方法不能高效的生成随机数,用它旨在说明问题,实际方法多得是但多是不太简单,说起来啰嗦。 随便使用一种语言编个小程序即可得到随机数。找个小的可执行程序A(一个空的可执行文件),我们用编的程序去连续调用程序A,并且用现成的时间函数来计量程序A的运行时间(时间单位用毫秒),将运行时间做成一个数组,得到a1,a2,...,an,共n个数据,让后计算它们的平均值p,然后让每个数组成员依次减p,得到另一个数组,做一个统计凡是大于或等于0的计一个... 阅读全文
posted @ 2013-02-26 10:21 sjdbky 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 加密软件形成密文后,如果使用一些简单的伎俩就能使其更加坚固。现在的文件可以看成是以字节为单位的字符串,每个字节的值在0和255之内,从一个原始置换表开始,并让“用户密码”参与运算调制生成新的置换表,用此表来加工密文得到新的密文。解密方也用此方法生成置换表并由此还原原始密文,再在进行其它解密运作。 由于“用户密码”的参与,破解者虽然可以从加密软件得知进行了置换表的变换,但由于参数未知(因为用户密码未知)无法做出正确的变换。由于变换的作用原密文完全改变了结构,对破解者来说无异于雪上加霜。实际起到了二次加密的作用,破解更无望了。 更厉害的挪移是深入文件元素字节内部,例如让字节的前四位和后四位... 阅读全文
posted @ 2011-11-17 08:32 sjdbky 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 语音朗读技术日益普及但多音字问题始终没有得到解决,虽然采用词组可以减少一些多音字识别的困难,但不能从根本上解决问题。在朗读中出现将字音读错实在使人不爽。所以大家都来集思广益,想出切实可行的解决方法,让语音技术更好的为大家服务。这里提出的解决方案,有的是不容易实现的,只能供有关者参考。利用现有条件实现无错误语音朗读的方法 计算机能识别一个汉字是不是个多音字,但是不能判断语音软件对一个汉字的读音在文章中的特定位置是不是正确,这只能靠人来识别正误。发现错误读音如何处理?可以用读音正确的其它字替代读音错误的字,这样修改后的文章可以称为此文章对应于XXX语音库的朗读版,这样做牺牲了文章的可读性。所... 阅读全文
posted @ 2011-10-29 08:36 sjdbky 阅读(2561) 评论(0) 推荐(0) 编辑
摘要: 我们知道随机函数形成的随机数组都是有周期的。这是因为生成的数组来自同样的计算公式,种子的值域是有限的,所以函数值也是有限的。 要建造没有周期的随机数组是很容易的,例如你要建造一个长度为 N的数组,可以找一个周期大于 N各方面性能都不错的随机函数,让随机函数产生 N个数,组成数组即可。 有时我们不愿意让别人知道数组是如何产生的。而上面的方式,如果知道随机函数、知道数组的结构就可以通过试验建造相同的数组,从而完全掌握了你的数组,这是你不希望的。 你可以这样:另找一个随机函数对你的数组进行随机排序,而随机函数的种子来自真随机数,还不放心可以用多个随机函数多做几次排序,这样要想建造同样的数组... 阅读全文
posted @ 2011-10-25 14:56 sjdbky 阅读(159) 评论(0) 推荐(0) 编辑