资源简介
简单的c/c++实现的基于文件的RSA加解密

代码片段和文件信息
/******************************************************************************/
// 工程:RSA
// 功能:RSA加、解密文件
// 作者:Chyukn
/******************************************************************************/
#include
#include
using namespace std;
#include
#include
#include
#include
#include “RSA.h“
#define DECRYPT_FILE “RSA加密密文.txt“
#define ENCRYPT_FILE “RSA解密明文.txt“
//! 约束文件最大2M
#define MAX_FILE 1024*1024*2
/******************************************************************************/
// 名称:usage
// 功能:帮助信息
// 参数:应用程序名称
// 返回:提示信息
/******************************************************************************/
void Usage( const char *appname )
{
printf( “\n\tusage: rsa -k 素数P 素数Q\n“ );
printf( “\tusage: rsa -e 明文文件 公钥e 公钥n\n“ );
printf( “\tusage: rsa -d 密文文件 私钥d 私钥n\n“ );
}
/******************************************************************************/
// 名称:IsNumber
// 功能:判断数字字符数组
// 参数:strNumber:字符数组
// 返回:数字字组数组返回true,否则返回false;
/******************************************************************************/
bool IsNumber( const char *strNumber )
{
unsigned int i;
if( !strNumber )
return false;
for ( i = 0 ; i < strlen(strNumber) ; i++ )
{
if ( strNumber[i] < ‘0‘ || strNumber[i] > ‘9‘ )
return false;
}
return true;
}
/******************************************************************************/
// 名称:IsPrimeNumber
// 功能:判断素数
// 参数:num: 输入整数
// 返回:素数返回true,否则返回false;
/******************************************************************************/
bool IsPrimeNumber( unsigned int num )
{
unsigned int i;
if( num <= 1 )
return false;
unsigned int sqr = (unsigned int)sqrt((double)num);
for( i = 2; i <= sqr; i++ )
{
if( num % i == 0 )
return false;
}
return true;
}
/******************************************************************************/
// 名称:FileIn
// 功能:读取磁盘文件到内存
// 参数:strFile:文件名称;inBuff:指向文件内容缓冲区
// 返回:实际读取内容大小(字节)
/******************************************************************************/
int FileIn( const char *strFile string &strData )
{
int iFileLen=0;
//! 打开文件
ifstream file(strFile);
if (! file.is_open())
{
cout << “无法打开该文件,请检查文件名是否正确,是否隐匿了拓展名 \n“;
return 0;
}
file.seekg(0 ios::end);
iFileLen = file.tellg();
file.seekg(0 ios::beg);
if( iFileLen>MAX_FILE )
{
printf( “文件长度不能大于 %dM!\n“ MAX_FILE/(1024*1024) );
return 0;
}
char *inBuff = new char[iFileLen+1];
file.read( inBuff iFileLen );
inBuff[iFileLen]=‘\0‘;
strData=inBuff;
delete []inBuff;
file.close();
return iFileLen;
}
/******************************************************************************/
// 名称:FileOut
// 功能:加/解密结果输出到当前目录磁盘文件中
// 参数:strOut指向输出字符缓冲区,输出大小len,strFile为输出文件
// 返回:无
/******************************************************************************/
void FileOut( const char *strOut
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 49664 2014-01-01 22:45 RSA.opt
文件 240 2014-01-01 22:44 RSA.plg
文件 10 2014-01-02 11:26 RSA.txt
文件 0 2014-01-02 11:26 RSA加密密文.txt
文件 0 2014-01-02 11:26 RSA解密明文.txt
文件 10030 2014-01-01 22:43 main.cpp
文件 4967 2014-01-01 22:38 RSA.cpp
文件 4119 2009-06-07 00:00 RSA.dsp
文件 529 2009-06-07 00:00 RSA.dsw
文件 752 2014-01-01 20:37 RSA.h
文件 50176 2014-01-01 22:45 RSA.ncb
----------- --------- ---------- ----- ----
120487 11
- 上一篇:c/c++实现的基于文件的DES加解密
- 下一篇:逆波兰表达式 c语言实现
相关资源
- 北京化工大学计算方法(C/C++)讲义
- GBT 28169-2011 嵌入式软件 C语言编码规范
- XUnZip Zip解压缩.rar
- Windows_API_函数大全 C/C++
- C语言程序设计教材习题参考答案.do
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- 高效FFT的C/C++代码实现包括基2的DIF和
- c/c++开发网络验证和本地验证
- 操作系统存储管理实验报告c/c++
- C++编写的万年历源码
- VC++实现RSA加密算法
- C语言进阶源码---基于graphics实现图书
- C++实现RSA加密解密算法
- 井字棋三连棋的AI实现,C/C++
- 《水果忍者》设计报告.doc
- MFC实现的红绿灯程序
- Win32简易画图程序
- C++网络爬虫项目
- 泡泡堂(炸弹人)小游戏C/C++完整源码
- 使用C/C++读取BITMAP的内容
- VC图像处理-用Canny算子提取边缘
- C/C++视频教程
- 生成RSA密钥对
- 个人总结的一些C/C++编码规范
- 高斯消去法求解线性方程组C/C++程序输
- celrityC/C++源码查看工具
- RSA算法纯C语言代码实现,带测试dem
- 网络编程MFC 实验四 FTP客户端功能实现
- C/C++语言大作业、小游戏
- OpenSSL RSA 非对称加密(VS2013,C++实现
评论
共有 条评论