【语言-c++】RSA加密算法 (C++)

本文介绍了如何使用C++实现RSA加密算法,包括所需的库文件和关键步骤。同时,文章提供了一个链接,指向作者的人工智能教程,教程风格轻松易懂。
摘要由CSDN通过智能技术生成
               

RSAEx.h

/*************************************************//*********Author:Cherish *************************//*********Date:2015-07-29*************************//*******利用大数计算系统实现RSA加密***************//*************************************************/#ifndef _RSAEX_H_ #define _RSAEX_H_#pragma once#define  RSA_P    "E34436F5F48A227B"     //1>2^64 大素数1>2^63     #define  RSA_P1    "E34436F5F48A227A"     //1>2^64 大素数1>2^63     #define  RSA_Q    "A92FA24467C4E3E3"     //大素数2#define  RSA_Q1    "A92FA24467C4E3E2"     //大素数2#define  RSA_N    "963251DC5A9C90D9F203A03C363BA411" //初始化模数n#define  RSA_D    "56157D29A89D77BF2F669A8F0B123CC9" //#define  RSA_E    "10001"        //初始化公钥#define  RSA_E1    "10000"        //初始化公钥#define  RSA_KeysizeBits 128#define  RSA_HEX   16#define  RSA_DECIMAL  10#define  RSA_BINARY   2#define  MAX_CHAR_LENGTH 512#define  TST_PT    "622H0W1BFEBFBFF0"      //测试CPU序列号 明文 非16进制字符串#define  TST_CT    "E64D969126CFBAB020221B88C8CFC0D" //绑定IP    密文 16进制namespace RSAEx{ //CString 转Char* char* Topchar(const CString &strSource)//定值 加密 char* Encryption(const char* Plaintext)//定值 解密 char* Decryption(const char* Ciphertext)/*  函数功能:加密,得到密文  Plaintext:明文  pChar:素数1参考值,得到的素数大于该值  qChar:素数2参考值,得到的素数大于该值  eChar:公钥参考值,得到的公钥大于该值得素数  nType:当前大数计算系统使用的进制 RSA_HEX = 16进制;RSA_DECIMAL = 10进制  return:密文  example:  char* p1= RSAEx::EncryptionEx("chenlu","BDCA157F56789A","CDAF9807654312","185642");  char* p2= RSAEx::DecryptionEx(p1,"BDCA157F56789A","CDAF9807654312","185642"); */ char* EncryptionEx(const char* Plaintext ,char* pChar =RSA_P1, char*qChar = RSA_Q1,char* eChar = RSA_E1 , int nType = RSA_HEX)/*  函数功能:加密,得到密文  Plaintext:密文  pChar:素数1参考值,得到的素数大于该值  qChar:素数2参考值,得到的素数大于该值  eChar:公钥参考值,得到的公钥大于该值得素数  nType:当前大数计算系统使用的进制 RSA_HEX = 16进制;RSA_DECIMAL = 10进制  return:明文 */ char* DecryptionEx(const char* Ciphetext ,char* pChar =RSA_P1, char*qChar = RSA_Q1,char* eChar = RSA_E1 , int nType = RSA_HEX)/*  函数功能:获取素数  Plaintext:密文  number:检测值,得到的素数大于该值  nType:当前大数计算系统使用的进制 RSA_HEX = 16进制;RSA_DECIMAL = 10进制  return:   true:素数;false非素数 */ bool IsPrime(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值