资源简介
具体描述参考 https://blog.csdn.net/iamqianrenzhan/article/details/88583822
代码片段和文件信息
//#include “D:\cryptopp562\randpool.h“
//#include “D:\cryptopp562\rsa.h“
//#include “D:\cryptopp562\hex.h“
//#include “D:\cryptopp562\files.h“
//#include “D:\cryptopp562\osrng.h“
//#include “D:\cryptopp562\base64.h“
#include “randpool.h“
#include “rsa.h“
#include “hex.h“
#include “files.h“
#include “osrng.h“
#include “base64.h“
#include
using namespace CryptoPP;
using namespace std;
//根据长度生成公钥和私钥,并分别保存到pubFilename文件和privFilename文件
void GenerateRSAKey(unsigned int keyLength const char *privFilename const char *pubFilename)
{
AutoSeededRandomPool rng;
InvertibleRSAFunction privkey;
privkey.GenerateRandomWithKeySize(rng keyLength);
base64Encoder privkeysink(new FileSink(privFilename)); //“privkey.txt“
privkey.DEREncode(privkeysink);
privkeysink.MessageEnd();
RSAFunction pubkey(privkey);
base64Encoder pubkeysink(new FileSink(pubFilename)); //“pubkey.txt“
pubkey.DEREncode(pubkeysink);
pubkeysink.MessageEnd();
}
//把字符串plain中的内容用pubFilename文件中的公钥加密数据并保存到encryptedFilename中。
void Encrypt(const string &plain const char *pubFilename const char *encryptedFilename)
{
RSAES_OAEP_SHA_Encryptor pubkey(FileSource(pubFilename true new base64Decoder));
SecByteBlock sbbCipherText(pubkey.CiphertextLength(plain.size()));
//sbbCipherText.begin();
AutoSeededRandomPool rng;
pubkey.Encrypt(
rng
(byte const*)plain.data()
plain.size()
sbbCipherText.begin());
FileSink(encryptedFilename).Put(sbbCipherText.begin() sbbCipherText.size());
}
void Encrypt2(const string &plainconst char *encryptedFilename)
{
//RSAES_OAEP_SHA_Encryptor pubkey(FileSource(pubFilename true new base64Decoder));
string pub = “MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC1f+WV5dAiVb2w1lgf21Wz84Uuou1TwCJ+\
ivxcpijobsHQLOLMakYSyRonH6SQJtL5CHXycBubA9sS7F2nVG2fMn6z9Ev11nu7J4IPPF9u\
v / ZqwAIlXwxVPsl4K69rWmdP4i5ezj++I7nC + kX6qjxpcyhnQalKAl2OC8AMNEo0awIBEQ == “;
RSAES_OAEP_SHA_Encryptor pubkey(StringSource(pub true new base64Decoder));
SecByteBlock sbbCipherText(pubkey.CiphertextLength(plain.size()));
//sbbCipherText.begin();
AutoSeededRandomPool rng;
pubkey.Encrypt(
rng
(byte const*)plain.data()
plain.size()
sbbCipherText.begin());
FileSink(encryptedFilename).Put(sbbCipherText.begin() sbbCipherText.size());
}
//用privFilename文件中的私钥解密encryptedFilename文件中的加密内容,并返回解密内容。
string Decrypt(const char *privFilename const char *encryptedFilename)
{
string strContents recovered;
FileSource(encryptedFilename true new StringSink(strContents));
AutoSeededRandomPool rng;
RSAES_OAEP_SHA_Decryptor privkey(FileSource(privFilename true new base64Decoder));
StringSource(strContents true new PK_DecryptorFilter(rng privkey new StringSink(recovered)));
return recovered;
}
string Decrypt2(const char *encryptedFilename)
{
string pri = “MIICdAIBADANBgkqhkiG9w0BAQEFAASCAl4wggJaAgEAAoGBALV/5ZXl0CJVvbDWWB/bVbPz\
hS6i7VPAIn6K / FymKOhuwdAs4sxqRhLJG
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 39936 2019-03-16 16:34 RSA\.vs\RSA\v14\.suo
文件 7164 2019-03-19 01:50 RSA\RSA\main.cpp
文件 6488 2019-03-16 10:09 RSA\RSA\RSA.vcxproj
文件 1246 2019-03-15 09:38 RSA\RSA\RSA.vcxproj.filters
文件 1294 2019-03-14 23:31 RSA\RSA\RSATools.cpp
文件 795 2019-03-14 23:24 RSA\RSA\RSATools.h
文件 1774 2019-03-16 00:43 RSA\RSA\test.cpp
文件 1291 2019-03-14 22:15 RSA\RSA.sln
目录 0 2019-03-14 22:15 RSA\.vs\RSA\v14
目录 0 2019-03-14 22:15 RSA\.vs\RSA
...D.H. 0 2019-03-14 22:15 RSA\.vs
目录 0 2019-03-24 06:55 RSA\RSA
目录 0 2019-03-24 06:55 RSA
----------- --------- ---------- ----- ----
59988 13
相关资源
- RSA加密算法演示程序使用了两种求模
- 基于FPGA的RSA加密算法的实现
- 适用于嵌入式的AES128加密耗内存极小
- strsafe.rar
- 强化学习 Dyna-H算法代码
- DELPHI 支付宝 支付,支付宝 RSA签名
- 密码学课程设计:DES 、RSA加密系统的
- aes verilog源码
- AES,TS,M3U8加密视频高速解密源码.
- 大数运算库gmp在vs2010环境下的配置
- strsafe.h.zip
-
前端JS实现密码加密ba
se64, md5, - UniversalTermsrvPatch(x86&x64;)
- 基于miracl的大数运算,有详细的说明
- linux 下 libssl.so.10 libcrypto.so.10
- 基于FPGA的AES加密算法的高速实现
- CGANConditional Generative Adversarial Nets
- RSA加密解密
- RSA 1024 加密 解密
- Crypto++用户指南
- RSA非对称加密
- RSA加密解密网络课程设计
- Chirp Scaling算法处理RADARSAT-1数据_shar
- RSA混合加密系统源码
- 默认使用DES加密聊天信息的SocketChat(
- AES加密模块verilog代码
- AES加密算法 Delphi7
- 基于FPGA的AES加密
- RSA算法加密解密源码及程序完整的工
- AES加密解密详细演示AES加密解密过程
评论
共有 条评论