分类 代码片段 下的文章

0x00 问题描述

书接上回,由于游戏服务器的新需求,但是游戏内置引擎没有hmac和sha1加密库,并且考虑了性能问题。所以采用远程调用PHP的方式去生成一个七牛的授权凭证(Access Token)。最近刚好在看Go的web框架,挑了一个国内比较成熟的Go语言编写的web框架Beego,所以为了熟悉Beego的框架,我准备将之前的PHP脚本放到Beego里面,作为我第一个Beego程序。

- 阅读剩余部分 -

0x00 问题描述

现在我还在管理的游戏服务器最近上了对象存储加上七牛的全球CDN加速,来给国外的玩家进行资源下载的加速。由于现在很多脚本还在完善,会经常更新服务器上的脚本,这导致缓存在CDN和对象存储上的文件和服务器上的不一致。所以需要加一个程序来刷新不一致文件在对象存储和CDN上的缓存。七牛云的API为了保证每一个操作不被篡改,使用了HMAC-SHA1算法对所有请求进行了加密。并且为了传参的安全还对参数进行了Base64编码。

- 阅读剩余部分 -

0x00 问题描述

An IP is a single IP address, a slice of bytes. Functions in this package accept either 4-byte (IPv4) or 16-byte (IPv6) slices as input.
GO的net库接受以4字节或16字节切片组成的IPv4和IPv6地址

Note that in this documentation, referring to an IP address as an IPv4 address or an IPv6 address is a semantic property of the address, not just the length of the byte slice: a 16-byte slice can still be an IPv4 address.
已知IPv4单位最大255,占8-bit,也就是1-byte,一共占4位,公共就是4-byte。
而IPv6地址单位最大65535占2-byte,一共8位,总共占16-byte.
所以无论是IPv4还是IPv6,一个16-byte长度的切片足以存储上述IP地址。所以go语言net库的IP地址是一16-byte大小的切片储存的。





- 阅读剩余部分 -