Golang Go语言中 项目 私有加密不公开代码的函数有哪些可跨平台的方案
需求如题: 加密不公开的 函数,可跨平台,
目前想到的方向是引用 wasm/lua 虚拟机的方式,wasm 自带编译,lua 要自己选择或实现混淆加密啥的
请问下各位老哥 有啥推荐的实现方案吗
Golang Go语言中 项目 私有加密不公开代码的函数有哪些可跨平台的方案
cgo 不也能跨平台。。。
更多关于Golang Go语言中 项目 私有加密不公开代码的函数有哪些可跨平台的方案的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
go 的 plugin 不就可以? https://golang.google.cn/pkg/plugin/#pkg-overview
go plugin 的 so/dll 要和调用方版本完全一致才可以,如果是给别人用的话,得每个版本编一个。
目前只支持 mac linux 不支持 windows ,不想强制改变项目组个人的系统使用习惯
编译成 动态链接库
打成 docker 镜像,暴露 grpc 接口
google.cn 居然还能用!
抱歉 看错了标题 以为是二进制的加密
加密函数编译成 dll ,用 go 的 embed 功能嵌入到代码中,用内存加载的方式加载 dll 就好了
js 就行了啊, 写完编译出来自带压缩混淆, 代码给你你也看不懂
暴露 C 接口也不行吗?
可跨平台第一反应就是 C/C++ 编译成 so 然后用 Go link 上来用。
#10 兄弟细说内存加载。我现在必须把它写入到文件里面然后按常规方式 loadlibrary
针对Golang项目中私有加密不公开代码的函数跨平台方案,以下是一些专业建议:
-
使用Go语言的内置跨编译功能:
- Go语言具有强大的跨编译能力,通过设置环境变量GOOS和GOARCH,可以在一个平台上编译出适用于其他平台的可执行文件。
- 例如,在Windows上编译出适用于Linux的可执行文件,只需设置
GOOS=linux
和GOARCH=amd64
,然后执行go build
命令。
-
利用Docker容器:
- Docker提供了一种轻量级的虚拟化技术,可以在不同操作系统上运行相同的应用程序。
- 通过编写Dockerfile,定义应用程序的运行环境,然后生成Docker镜像,并在不同平台上运行容器,实现跨平台部署。
-
使用跨平台库:
- 选择支持多平台的第三方库来处理特定功能,这些库通常提供了对不同操作系统的兼容性。
- 在选择库时,注意查看其支持的操作系统和架构,确保满足跨平台需求。
-
遵循跨平台编程最佳实践:
- 避免使用特定平台的功能,尽量使用Go语言的标准库。
- 使用条件编译来处理不同平台的差异。
- 进行跨平台测试,确保代码在不同操作系统上表现一致。
综上所述,通过合理使用Go语言的内置跨编译功能、Docker容器、跨平台库以及遵循跨平台编程最佳实践,可以实现Golang项目中私有加密不公开代码的函数跨平台部署。