小编TTK*_*oid的帖子

使用 OpenSSL 1.1 的 SHA256 HMAC 未编译

下面的代码使用 HMAC SHA256 生成签名哈希。此代码在 Debian Jessie 和 Ubuntu 16.04(OpenSSL 1.0.2g 2016 年 3 月 1 日)上编译并运行良好。

\n\n
#include <openssl/evp.h>\n#include <openssl/hmac.h>\n#include <iomanip>\n#include <iostream>\n#include <string>\n#include <sstream>\n\nusing namespace std;\n\nstring HMAC256(string data, string key)\n{\n        stringstream ss;\n        HMAC_CTX ctx;\n        unsigned int  len;\n        unsigned char out[EVP_MAX_MD_SIZE];\n        HMAC_Init(&ctx, key.c_str(), key.length(), EVP_sha256());\n        HMAC_Update(&ctx, (unsigned char*)data.c_str(), data.length());\n        HMAC_Final(&ctx, out, &len);\n        HMAC_cleanup(&ctx); \n        for (unsigned int i = 0;  i < len;  i++)\n        {\n          ss << setw(2) << setfill(\'0\') << hex << static_cast<int> (out[i]);\n        }\n        return ss.str();\n}\n\nint main()\n{\n    cout << …
Run Code Online (Sandbox Code Playgroud)

c++ debian openssl sha256 hmac

4
推荐指数
1
解决办法
5740
查看次数

Golang 二进制文件保留源代码名称和路径的引用

出于好奇,我使用十六进制编辑器打开了 GO 编译器生成的二进制文件,令我惊讶的是,我在二进制文件中发现了项目中使用的每个源代码的完整路径和文件名。

就像,很明显有像/home/myusername/myprojectname/source.go这样的信息

更惊讶的是,我发现了诸如特定功能如何工作的注释之类的东西

在此输入图像描述

现在我知道为什么用 Golang 编写并编译的“Hello World”会生成 3mb 的二进制文件......

有谁知道是否有办法从 golang 二进制文件中删除这些东西?比如,有编译器标志吗?

go

-1
推荐指数
1
解决办法
891
查看次数

标签 统计

c++ ×1

debian ×1

go ×1

hmac ×1

openssl ×1

sha256 ×1