随笔分类 -  算法

摘要:原文链接: http://studygolang.com/wr?u=http%3a%2f%2ftonybai.com%2f2015%2f04%2f30%2fgo-and-https%2f 近期在构思一个产品,考虑到安全性的原因,可能需要使用到HTTPS协议以及双向数字证书校验。之前只是粗浅接触过HT 阅读全文
posted @ 2017-05-15 09:52 ma_fighting 阅读(2138) 评论(0) 推荐(0)
摘要:前言一 很多搞 iOS 开发的同学都没有学过算法,有一些甚至没有学过数据结构。在很多人的观念中,算法和数据结构只是在面试的时候有用。 这些人的想法对吗?在我看来,也对,也不对。 对于 iOS 开发来说,大多数时候都不需要算法和数据结构知识,但是如果你了解了算法和数据结构知识,在一些关键时候,这些知识 阅读全文
posted @ 2017-05-09 17:36 ma_fighting 阅读(4182) 评论(0) 推荐(2)
摘要:树: https://suanfa.herokuapp.com/3%E6%A0%91/binarytree/ 数据结构 首先我们定义需要的数据结构。注意,TreeNode的左右节点都是*TreeNode type的,而树只有一个Root数据域,为*TreeNode type Insert 向二叉搜索 阅读全文
posted @ 2017-05-09 10:58 ma_fighting 阅读(493) 评论(0) 推荐(0)
摘要:版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7393134 链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开 阅读全文
posted @ 2017-05-06 09:38 ma_fighting 阅读(606) 评论(0) 推荐(0)
摘要:版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7518888 树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子 阅读全文
posted @ 2017-05-06 09:36 ma_fighting 阅读(617) 评论(0) 推荐(0)
摘要:一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布 阅读全文
posted @ 2017-05-04 17:54 ma_fighting 阅读(2252) 评论(0) 推荐(0)
摘要:Insertion:插入排序,每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 详细介绍见:http://www.cnblogs.com/kkun/archive/2011/11/23/2260265.html Selection:选择排序,直接从待排序数组里选择一 阅读全文
posted @ 2017-05-04 08:45 ma_fighting 阅读(262) 评论(0) 推荐(0)
摘要:Insertion:插入排序,每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 详细介绍见:http://www.cnblogs.com/kkun/archive/2011/11/23/2260265.html Selection:选择排序,直接从待排序数组里选择一 阅读全文
posted @ 2017-05-04 08:45 ma_fighting 阅读(1262) 评论(0) 推荐(0)
摘要:在上述的文章后了解到原理之后,我们这篇文章来进行CA的搭建。 OPEN SSL 环境搭建在基础原理中我们提到了两种认证服务,单项认证服务和双向认证服务,我们就以双向认证服务举例说明。OpenSSL是一个开放源代码软件包,实现了SSL以及相关加密技术,是最常用的证书管理工具,OpenSSL功能远胜于K 阅读全文
posted @ 2017-03-31 16:14 ma_fighting 阅读(3300) 评论(0) 推荐(0)
摘要:转自: http://yale.iteye.com/blog/1675344 原理基础数字证书为发布公钥提供了一种简便的途径,其数字证书则成为加密算法以及公钥的载体,依靠数字证书,我们可以构建一个简单的加密网络应用平台,数字证书就好比我们生活中的身份证,现实中,身份证由公安机关签发,而网络用户的身份 阅读全文
posted @ 2017-03-31 16:10 ma_fighting 阅读(4385) 评论(0) 推荐(0)
摘要:互联网的软件设计一定少不了加密算法,并且大量使用的都会是对称加密,比较常见的对称加密有:DES、3DES、RC4、AES等等; 加密算法都有几个共同的要点: 对于加密模式,很多同学还不清楚,比如DES,也会有ECB、CBC等不同的区分,它们都是标准的; Windows加密库中,默认则是CBC模式,也 阅读全文
posted @ 2017-01-05 09:47 ma_fighting 阅读(2676) 评论(0) 推荐(1)
摘要:算法步骤: 算法步骤: DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位(实际用到了56位,第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1),其算法主要分为两步: 1)初始置换 其功能是把输入的64位数据块按位重新组合,并把输出分为 阅读全文
posted @ 2016-08-16 20:51 ma_fighting 阅读(666) 评论(0) 推荐(0)
摘要:原理: 原理: 转码过程例子: 3*8=4*6 内存1个字符占8位 转前: s 1 3 先转成ascii:对应 115 49 51 2进制: 01110011 00110001 00110011 6个一组(4组) 011100110011000100110011 然后才有后面的 011100 110 阅读全文
posted @ 2016-08-16 20:45 ma_fighting 阅读(600) 评论(0) 推荐(0)
摘要:MD5算法具有以下特点: 1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。 2、容易计算:从原数据计算出MD5值很容易。 3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。 4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数 阅读全文
posted @ 2016-08-16 20:36 ma_fighting 阅读(1586) 评论(0) 推荐(0)
摘要:RC4于1987年提出,和DES算法一样,是一种对称加密算法,也就是说使用的密钥为单钥(或称为私钥)。但不同于DES的是,RC4不是对明文进行分组处理,而是字节流的方式依次加密明文中的每一个字节,解密的时候也是依次对密文中的每一个字节进行解密。 RC4算法的特点是算法简单,运行速度快,而且密钥长度是 阅读全文
posted @ 2016-08-06 15:10 ma_fighting 阅读(11289) 评论(0) 推荐(0)
摘要:中间加个判断, if (n< 0) { } 第一天 : 1 第二天 : 1 第三天 : 2 第四天 : 3 第五天 : 5 第六天 : 8 第N天 : n - 1天的加 n - 2 天的 阅读全文
posted @ 2016-07-19 14:48 ma_fighting 阅读(240) 评论(0) 推荐(0)
摘要:1 SHA1算法简介 安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生 阅读全文
posted @ 2016-07-04 18:50 ma_fighting 阅读(7880) 评论(0) 推荐(0)

历史天气查