资源简介
RSA加解密(c语言实现).zip
代码片段和文件信息
/******************************************************************************/
// 工程:RSA
// 功能:RSA加、解密文件
// 作者:jlcss|ExpNIS
/******************************************************************************/
#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 unsigned char *&inBuff )
{
int iFileLen=0 iBuffLen=0;
//! 打开密文文件
CFile file( strFile CFile::modeRead );
iFileLen = ( int )file.GetLength();
if( iFileLen>MAX_FILE )
{
printf( “文件长度不能大于 %dM!\n“ MAX_FILE/(1024*1024) );
goto out;
}
if( iFileLen % 8 != 0 )
iBuffLen = ( iFileLen/8+1 ) * 8;
else
iBuffLen = iFileLen;
inBuff = new unsigned char[iBuffLen];
if( !inBuff )
goto out;
ZeroMemory( inBuff iBuffLen );
file.Read( inBuff iFileLen );
file.Close();
out:
return iBuffLen;
}
/******************************************************************************/
// 名称:FileOut
// 功能:加/解密结果输出到当前目录磁盘文件中
// 参数:strOut指向输出字符缓冲区,输出大小len,strFile为输出文件
// 返回:无
/******************************************************************************/
void FileOut( const void *strOut int len const char *strFile )
{
//! 输出到文件
CFile outfile( strFile
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-12-06 23:57 RSA\
文件 5334 2009-12-10 18:53 RSA\main.cpp
文件 4469 2009-12-10 18:53 RSA\RSA.cpp
文件 582 2009-12-10 18:52 RSA\RSA.h
- 上一篇:C++串口读写类
- 下一篇:ELGamal加解密(c语言实现).zip
相关资源
- ECC加密 RSA加密 C++ 简单实现 不带大数
- C++ Qt5实现RSA加解密
- 软件学院密码学实验四RSA
- rsa MFC实现源码
- linux下C语言从N模数、E公钥指数、D私
- MFC有界面RSA加密解密算法实现
- RSA加密算法的C语言实现
- RSA算法C语言实现.zip
- 字符串的RSA加密与解密 c语言实现
- RSA数字签名程序(C++实现)
- 密码学基于RCB和CBC的RSA实现(c++)
- rsa基于openssl1.1 实现签名(rsasign.cpp)
- RSA数字签名算法实现
- RSA KEY生成 C语言代码
- RSA加密解密之Linux C语言版
- C++编写的 rsa数字签名 源代码
- 用C实现的RSA加解密文本文件
- RSA 加密工具 Version 1.0支持文件、文本
- 生成RSA密钥对(修正版)
- 密码学编程c++代码
- 基于rsa数字签名c++实现
- rsa加密算法 c语言实现
- 分解大整数
- rsa加密算法c语言源码已经测试验证
- c++ RSA公共密钥加密解密加实验报告
- C++实现RSA公钥私钥加密算法
评论
共有 条评论