c - 如何在C中将私钥存储在字符串文字中?
问题描述
如何在C中将私钥存储在字符串文字中?
例如
-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBANuwDJCXuv/FszouyCcDNIn6++/8EtdVpzvLKpqLdK/fq6Y3bIjD
6fPVCNwANeJsSHKexi4qPkBpZ8/C0Ssnp48CAwEAAQJAHtDmIk42W/R2fJ3dU6Oe
dhBv0K0SU4RfTgLkugL/3j+GIQCiFXBkfO/eG6J8vQlOQaGbK7Zu6bSnCoCdiDmR
sQIhAPysf1AIbRoQGO6HYtAoTUOMlih7dyh4O3jKCqQUa60XAiEA3pRju0/0g2JK
bdSct/kqii1o+RydH79WCnKVgVvulEkCIFdbRADliOLT4erFv/H7nQrXliqU1ROW
zejq4VbtAHUtAiBRP5OkRYx5BUEsFGdc1MyNggQGo0ZL13ld+PPQM7HEWQIhAIU1
InlMgmqV1GzEXsAwRH5RH2zEqAe9mKkU7SZWT0rI
-----END RSA PRIVATE KEY-----
- 我可以删除每一行中的换行符吗?
- 在 C 中定义多行字符串文字的最佳方法是什么?
解决方案
忽略与这种“解决方案”相关的安全问题,您可以这样做:
const char* key =
"MIIBOgIBAAJBANuwDJCXuv/FszouyCcDNIn6++/8EtdVpzvLKpqLdK/fq6Y3bIjD"
"6fPVCNwANeJsSHKexi4qPkBpZ8/C0Ssnp48CAwEAAQJAHtDmIk42W/R2fJ3dU6Oe"
"dhBv0K0SU4RfTgLkugL/3j+GIQCiFXBkfO/eG6J8vQlOQaGbK7Zu6bSnCoCdiDmR"
"sQIhAPysf1AIbRoQGO6HYtAoTUOMlih7dyh4O3jKCqQUa60XAiEA3pRju0/0g2JK"
"bdSct/kqii1o+RydH79WCnKVgVvulEkCIFdbRADliOLT4erFv/H7nQrXliqU1ROW"
"zejq4VbtAHUtAiBRP5OkRYx5BUEsFGdc1MyNggQGo0ZL13ld+PPQM7HEWQIhAIU1"
"InlMgmqV1GzEXsAwRH5RH2zEqAe9mKkU7SZWT0rI";
指针key
现在指向嵌入在可执行文件中的私钥。它不包括换行符,因为这些字符串文字在编译时会自动连接,无论它们之间有什么空格。
已经说过了,但我想重申,不应该对任何重要的密钥和数据进行类似的操作。
推荐阅读
- json - 我需要从我的 component.ts 文件中保存的 JSON 对象中获取数据
- r - 在 R Shiny 的 UI 中的 IF 语句中使用反应值
- android - 是否可以将 DataSnapShot 更改为模型?
- ruby-on-rails - Rails:使用 Authlogic 进行 Google 身份验证
- java - Kotlin:只有 getter 的私有可变属性
- javascript - Kendo MVVM - 模板未更新
- java - 找到多个文件,其独立于操作系统的路径为“META-INF/INDEX.LIST”
- angularjs - 如何在 Angular js 材料中分别抛出表单错误?
- unit-testing - 我什么时候应该觉得我的单元测试已经完成了?
- docker - 注册表在哪里运行