go非常适合做后台应用开发,go开发的两个优势:
相比于C/C++,开发效率极大的提高,内置垃圾回收、异步函数、闭包等。另外,各种内置的库很容易和web端集成,很适合快速搭建大型系统。静态链接,做到了应用部署和OS版本完全解耦。
另外在执行性能方面,go开发能够缩短API的响应时长,解决批量请求访问超时的问题。通过协程可以方便的实现API的并行处理,达到处理效率的最大化。依赖Golang的高性能HTTP Server,提升系统吞吐能力,由PHP的数百级别提升到数千里甚至过万级别。
鉴于Go语言的特点和设计的初衷,Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web 应用、API应用、下载应用等;除此之外,Go语言还适用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。
而 golang的程序加密应该怎么做呢?
推荐方案:VirboxProtector
加密方式:
直接将 golang 编译好的 可执行程序、动态库等添加到 VirboxProtector 加密工具里,设置函数的保护方式如:虚拟化、混淆后,直接点击保护选中项目即可
加密选项:压缩、内存校验、反调试
内存校验
运行时对程序内存进行完整性校验,并提供 SDK 标签的方式,可对内存进行动态校验,防止程序被篡改。
压缩
对程序的代码或数据段整体压缩并加密,防止被反编译。
反调试
通过平台相关API、数据结构和寄存器,检测调试器,防止动态调试。 点击保护选中项目后,直接生成加密后的程序。
golang编译出来的东西已经是二进制了, 还担心反编译的问题? 你如果服务器被攻破了, 所有的资源都失守了包括二进制文件, 那么是不是被反编译已经不重要了.
#1
更多评论
很不幸,有基于二进制的漏洞可以利用,不一定反编译程序。我就遇到了扫描内存把连接mysql和redis的明文密码扫描出来了,还要我改了,命苦啊。`go build -buildmode=pie`用这种模式编译的二进制安全级别更高些。
#2