📄 keypair.cpp
字号:
// keypair.cpp : Defines the entry point for the console application.
//
#include "../crypto50/osrng.h"
#include "../crypto50/ec2n.h"
#include "../crypto50/eccrypto.h"
#include "../crypto50/oids.h"
#include "../crypto50/base64.h"
#include "../crypto50/files.h"
using namespace std;
using namespace CryptoPP;
int main(int argc, char* argv[])
{
//不好意思,下面的代码我没能力解释了:)
//产生公钥,私钥于相应文件中,把文件中字符串拷贝到KenGenMe 和KeyGen相应位置就可以了
AutoSeededRandomPool rng; //随机数
ECIES<EC2N>::Decryptor cpriv(rng, ASN1::sect193r1());
ECIES<EC2N>::Encryptor cpub(cpriv);
ByteQueue bq;
ByteQueue queue;
cpriv.DEREncode(bq);
cpub.AccessKey().AccessGroupParameters().SetEncodeAsOID(true);
cpub.DEREncode(bq);
cpriv.AccessKey().SavePrecomputation(queue);
cpriv.AccessKey().LoadPrecomputation(queue);
Base64Encoder privkeysink(new FileSink("privkey.txt"),false); //私钥,base64编码 false表示不换行
cpriv.DEREncode(privkeysink);
privkeysink.MessageEnd();
Base64Encoder pubkeysink(new FileSink("pubkey.txt"),false); //公钥,base64编码
cpub.DEREncode(pubkeysink);
pubkeysink.MessageEnd();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -