- 博客(20)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 <Golang>MD5、SHA256等哈希算法介绍、应用场景及具体实现
MD5和SHA256是非常常用的两种单向散列函数,虽然MD5在2005年已经被中国密码学家王小云攻破,但是曾经也是叱咤风云的,现在比较常用的是SHA256算法,两种算法在go语言中已经被封装好,调用方法相同。称谓: 单向散列函数, 哈希函数, 杂凑函数, 消息摘要函数输入: 原像输出: 散列值, 哈希值, 指纹, 摘要三大特性:将任意长度的数据转换成固定长度的数据(无论输入的是一个比...
2018-11-03 13:15:12
8619
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 go语言通过内存缓存加快程序运行速度
斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n&amp;amp;amp;amp;amp;amp;gt;=2,n∈N*)go语言实现斐波那契数列有助于我们更好地了解递归的原理和思想,下面不多说,直接上代码!func fibonacci(a int)(result int){//递归需要一个出口...
2018-08-11 15:33:49
1061
原创 <golang>MAC消息认证码及RSA数字签名
版权声明:本文为作者原创,如需转载,请注明出处https://blog.csdn.net/weixin_42940826消息认证码概念消息认证码(message authentication code)取三个单词的首字母,简称为MAC。是一种使用单向散列函数确认完整性,并进行认证,确保文件传输过程中不被篡改的技术。...
2018-11-13 21:44:04
1214
原创 go语言实现非对称加密——RSA加密解密的实现
版权声明:本文为作者原创,如需转载,请注明出处https://blog.csdn.net/weixin_42940826非对称加密简介什么是非对称加密非对称加密,顾名思义,是相对于对称加密的一种加密方法,对称加密是指加密与解密使用的是同一把秘钥,而非对称加密有两把不同的秘钥,一个称之为公钥,另一个称之为私钥,使用公钥加密,私钥可以解密。或者使用私钥加密,公钥可以解密。大多数情况下,公...
2018-11-07 15:02:11
2734
1
原创 CTR分组模式实现AES加密解密(go语言)
版权声明:本文为作者原创,如需转载,请注明出处https://blog.csdn.net/weixin_42940826AES算法简介AES算法是为了取代DES算法而生,虽然3DES算法仍然可以使用,但是效率比较低下,AES算法是在众多算法中选拔出来的,安全性高,效率高,在对称密码中被广泛使用,适合使用CBC和CTR分组模式,尤其是CTR分组模式。常见问题Q1:AES安全吗?安全...
2018-11-03 19:11:33
3401
2
原创 <golang>常用对称加密DES、3DES具体实现
版权声明:本文为作者原创,如需转载,请注明出处https://blog.csdn.net/weixin_42940826注:对称加密算法需要用分组模式的知识,在我上一篇帖子里有介绍对称加密算法常用的五种分组模式(ECB/CBC/CFB/OFB/CTR)DES简介和实现DES – Data Encryption Standard(已经被破解不再使用,但是很有研究价值,而且诞生...
2018-11-03 18:02:51
1875
原创 对称加密算法常用的五种分组模式(ECB/CBC/CFB/OFB/CTR)
版权声明:本文为作者原创,如需转载,请注明出处https://blog.csdn.net/weixin_42940826注:以下图片来自于《图解密码学》,这本书讲的更全面细致,建议阅读,在我资源库中有此书,还有使用go语言具体实现和解释此书中的各种加密算法的文档,有需要的可以自习前往免费下载一图全览五种模式详解1. ECB - Electronic Code Book, 电子密码本...
2018-11-03 14:29:32
27112
1
原创 你离十万行代码还差多远?(程序实现)
自古编程界流传着这样一个传说,十万行代码堆出一个程序大牛,所以我们每个人都奋斗在敲代码的路上,那么我们究竟离那十万行代码还差多远呢?!这个程序的灵感就来源与此传说。
2018-09-20 21:19:22
717
原创 Golang输出世界上所有的语言文字(Unicode的力量)
前言下面这段代码,可以瞬间打印出世界上所有的语言,英文,日语,汉字,拉丁,汉语,甚至纳西文字,藏语,应有尽有,让我们直接看代码并欣赏结果:func main() { var i int=0 var t int=0 for { fmt.Printf(&amp;amp;quot;%c&amp;amp;quot;,i) time.Sleep(time.Nanosecond) ..
2018-09-15 21:32:50
3865
原创 《GO语言圣经》学习初感与建议
前言今天刚看了《GO语言圣经》的前二十页,感触颇深,深感此书之精髓,令人叹服,决定从今日起,记录下啃书的收获与感悟,与君共勉!!! 在记录中,我会有选择的进行分享,对那些自我感觉比较关键的细细解读,一些不是太重要的我就简单略过了,以此节省大家的时间。有兴趣的小伙伴可以边看书边看我的博客,有什么想法跟我交流交流,一起进步一起成长,效果想必是极好的。 学习建议首先说一下,我自学GO...
2018-09-14 17:17:55
6648
3
原创 [golang]实现UDP协议下的C/S模型
上个帖子总结了TCP协议下简单的的C/S模型,现在来看一下UDP协议下的C/S模型,TCP和UDP的异同点下图清晰可见。 因此TCP和UDP各有优缺点,选择什么协议进行开发得根据实际情况分析。值得一提的是,UDP的客户端实现和TCP的客户端实现可以说是一模一样的,具体可进入我的上一个帖子参考: [golang]实现Tcp协议之简单C/S模型但是UDP服务器和TCP略有不同! 由于...
2018-09-10 17:24:22
793
原创 go使用条件变量实现生产者消费者模型
概述前面已经学习过使用channel完成简单的生产者消费者模型了,但那种模型存在一定的弊端,生产者消费者数量增加时,数据容易紊乱或被堵塞,而使用条件变量实现的生产者消费者模型可以有效解决这一点。所需知识点条件变量:条件变量的作用并不保证在同一时刻仅有一个协程(线程)访问某个共享的数据资源,而是在对应的共享数据的状态发生变化时,通知阻塞在某个条件上的协程(线程)。条件变量不是锁,在并...
2018-09-07 20:41:45
532
2
转载 程序员的十个等级(最详尽)
见过最强最深刻的关于程序员等级的思考,甚至涉及到了宇宙洪荒,生命起源,时间维度,强的一批,与君共勉! 转载自:http://blog.csdn.net/fx0000001/article/details/50397265如果你还迷茫请看这里!如果你很牛逼请看这里!如果你很自傲请看这里!总有你想学会的! 自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外。当然现...
2018-09-07 15:54:03
20800
5
原创 Golang一百行代码实现简单的并发聊天室
*&amp;amp;amp;amp;gt; 项目介绍:Golang语言100行代码实现高并发聊天室,其中实现的功能有:上下线广播,私聊,用户改名,超时强踢,在线用户检测等在开始项目前,我们需要理解贯穿这整个项目的两个重要变量,若能理解这两个变量的使用,那么并发聊天室项目会变得手到擒来。第一个是onlinemap全局map,第二个是Message全局通道。全局map类型为map[string][client],这个...
2018-09-04 16:49:01
3806
7
原创 Go语言十行实现简单http服务器
Go语言搭建简易http服务器只需三步: 1..注册处理函数。http.HandlerFunc(文件路径,回调函数) 2.绑定服务器监听地址 http.ListenAndServe(Ip+port ,nil) 3.补充处理函数handler 下面结合代码来细看package mainimport &quot;net/http&quot;//3.处理函数用来接收和输入**第三步详细说明**/*这一...
2018-09-03 21:03:19
3165
翻译 并发与并行,进程、线程和协程之间的异同小节
并行:依赖硬件完成同一时刻,同时运行多个程序。真正的多任务。 并发:依赖CPU高速运算的特性,出现像是同时运行多个程序的现象,伪的多任务,本质是同一刻只能执行一个任务,但是极短时间内轮番执行多个。================================================================================== 进程: 运行...
2018-08-24 21:09:36
447
原创 golang实现贪吃蛇(go面向对象版)
**贪吃蛇几乎每个人都玩过,而对于程序员来说,这也是每个程序员成长路上的必经之路,一个小小的里程碑,那么如何在go语言中利用面向对象编程的方法实现贪吃蛇呢,别急,我们先整理一下大致思路。**1、蛇结构体创建 长度 []坐标 方向 2、食物结构体创建 坐标 3、蛇初始化 设置蛇长度 2节 设置蛇的坐标 蛇头方向 4、界...
2018-08-12 12:55:57
3065
1
原创 go语言panic异常及recover拦截恢复初级
Go语言为我们提供了专用于“拦截”运行时panic的内建函数——recover。它可以是当前的程序从运行时panic的状态中恢复并重新获得流程控制权。下面我们来看一下具体该怎么用 package main import “fmt” func main() { var a int =10 //故意让10除以0 var b int //recover应...
2018-08-11 16:17:57
688
2
原创 golang实现经典猜数字游戏
程序需求: 程序运行后会在0-9之间随机生成4位不重复的数字 程序启动,4位随机数已经产生,但用户看不到。 用户需要输入四位不重复的数字 按下回车会给出判断情况如 A代表用户手动输入的数字和位置与程序随机生成的数字和位置都一样。例如(程序随机生成:8765而用户输入数字为:8765显示判断情况为AAAA) B代表用户输入的数字是程序随机生成的四位数字中的一个,但用户输...
2018-08-11 15:47:50
789
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人