c++ - 使用 libconfig 存储加密数据

标签 c++ c linux libconfig

我正在使用 libconfig 创建配置文件,其中一个字段是加密文件的内容。出现此问题是因为文件中有一些转义字符导致内容的部分存储。存储此数据以避免意外转义字符的最佳方法是什么?转换成unicode? 有什么建议吗?

最佳答案

您可以使用 URL 编码,其中每个非 ASCII 字符被编码为 % 字符后跟两个十六进制数字,或者您可以使用 base64编码,其中每组 3 个字节被编码为 4 个 ASCII 字符(3x8 位 -> 4x6 位)。

例如,如果您有以下字节:

00 01 41 31 80 FE

您可以对其进行 URL 编码,如下所示:

%00%01A1%80%FE

或者你可以像这样使用 base64 编码,0-25 = A-Z, 26-51 = a-z, 52-62 = 0-9, 62 = ., 63 =/:

(00000000 00000001 01000001) (00110001 10000000 11111110) -->
(000000 000000 000101 000001) (001100 011000 000011 111110) 

AAJBNYD.

关于c++ - 使用 libconfig 存储加密数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37814466/

相关文章:

无法从C 中的管道中执行读取?

linux - 如何在程序之间创建互斥锁,就像进程之间的互斥锁一样

linux - 仅在命令 shell 上安装 blender 2.7 linux(无 X)

c++ - GetCountOfObjects、GetNumberOfObjects 和 GetObjectCount 中哪个最好?

c++ - Qt - 在特定时间创建通知(PC)

c++ - 如何为 C/C++ 传递可选命令行参数?

linux - 在 rc.local 之前启动时运行命令

c++ - “Could not determine which ” 制作 “command to run. Check the ” 制作 “step in the build configuration.” Qt 创建者

c - 休眠 N 秒并等待按键

c - 如何通过 Alchemy gcc 编译 ffmpeg?