91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 13KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-08
  • 語言: C/C++
  • 標簽: c/c++??RSA??

資源簡介

簡單的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? {
if?(?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:指向文件內容緩沖區
// 返回:實際讀取內容大?。ㄗ止潱?br/>
/******************************************************************************/
int?FileIn(?const?char?*strFile?string?&strData?)
{
int?iFileLen=0;

//!?打開文件
ifstream?file(strFile);
if?(!?file.is_open())
{?
cout?< 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


評論

共有 條評論