算法
纵马饮白虹
这个作者很懒,什么都没留下…
展开
-
生成有足够随机性的随机数
大致思路是使用足够的运算和网络传输产生随机性1、循环若干次,做一组运算 因为即使同一台计算机 每次运行的时间也不会相同,求运算消耗的时间 因此产生了初步的随机性2、重复步骤1 若干次 将得到的值乘上一个较大的数字 如10000 作为运算的循环次数 进一步放大随机性3、将步骤3得到的结果作为种子 随机出运算变量、运算符、循环次数,将运算结果和消耗时间相乘得到若干结果4、连接类似与国家授时中心的地址获...原创 2018-07-05 14:54:52 · 471 阅读 · 0 评论 -
MD5摘要+salt提高攻击难度
当前摘要算法如MD5、SHA-1等特别是MD5因为类似差分路径攻击等算法和计算机性能的提高,大大减少了找碰撞对的难度,加上用户和程序员在设置密码时人为的因素导致,在某些场合下破解成本已经大幅下降研究了下通过加盐提高破解成本的方法摘要算法输出固定位数的结果,因此 生成的可能性一共就那些种组合,虽然很大 但是因为输入的位数不限,因此所有输入的组合可以说是无穷,将无穷种可能映射到一个常量级的组合...原创 2019-01-03 11:57:47 · 1003 阅读 · 1 评论 -
高效求List差集
List求差集问题,解决思路使用了List的结构特性先上代码,再分析List list1 = new LinkedList();List list2 = new LinkedList();List list3 = new ArrayList();for(int i = 0, len1 = list1.size(); i < len1; i++) { Object obj1...原创 2019-03-23 14:54:31 · 1020 阅读 · 2 评论 -
控制反转和依赖注入的理解
什么是控制反转(IOC)平时我们使用类的对象,需要自己new一个 然后调用。控制反转就是不自己实例化 而是交给第三方实例化,这里的第三方就叫做IOC容器。控制反转这个名字就是相对于我们平时的使用模式起的,之前是我们自己控制类的实例化,现在由第三方实例化,这里对于对象的控制责任就反转到IOC容器手上了。控制反转不是具体的技术,而是一种思想 只要是实现这个思想的技术都可以叫做控制反转什...原创 2019-04-29 11:42:03 · 376 阅读 · 0 评论