- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC实现数据的加密和解密
VC实现数据的加密和解密
VC实现数据的加密和解密(MD5加密\DES\RSA(2)[refer=8,canydice] 我想问一下怎么编写filebuffer.h呢?用MD5加密的算法里?[refer=1,abfsd]主要的程序如下:\r\n1)、MD...[/refer] 我想问一下怎么编写filebuffer.h呢?用MD5加密的算法里? 回复1楼abfsd发表: 主要的程序如下:\r\n1)、MD5\r\n\r\n// MD5.h: interface for the CMD5 class.\r\n//\r\n////////////////////////... 7楼 发表://对字符串或者是16进制数据进行[refer=7,abfsd]//对字符串或者是16进制数据进行加密或者解密\r\nvoid CEncryAndDecryptDlg::OnBtnstringdigest() \r\n{\r\n // T...[/refer] //对字符串或者是16进制数据进行加密或者解密
void CEncryAndDecryptDlg::OnBtnstringdigest()
{
// TODO: Add your control notification handler code here
//判别算法为加密算法还是解密算法
CButton* poAction = (CButton*)(GetDlgItem(IDC_RADENCRYPT));
CEdit* poEdit;
//获取单选框的值,用于区分为字符串还是16进制数据
CButton* poButton = (CButton*)(GetDlgItem(IDC_RADALPHA));
//确定选择的方法
/*switch(m_iMethod)
{
case DES:
AfxMessageBox(采用DES算法);
break;
case MD5:
AfxMessageBox(采用MD5算法);
break;
case RSA:
AfxMessageBox(采用RSA算法);
break;
}*/
CString strTemp,strPrimeP,strPrimeQ;//用于获取EDIT中输入的信息
char acDigest[65] = {0};
int iLen;
//判别为加密算法还是解密算法
if(poAction-GetCheck() == 1)//为加密算法
{
m_iAction = ENCRYPT;
//判别为字符串还是为16进制形式
if(poButton-GetCheck() == 1)//为字符串形式
{
poEdit = (CEdit*)(GetDlgItem(IDC_EDITALPHA));
poEdit-GetWindowText(strTemp);
if(m_iMethod == DES strTemp.GetLength() != 8)
{
AfxMessageBox(输入的加密的字符串长度不是8位,请重试!);
return;
}
m_oMD5.Reset();
m_oMD5.AddData(LPCTSTR(strTemp),strTemp.GetLength());
m_oMD5.FinalDigest(acDigest);
}
else//为16进制形式
{
poEdit = (CEdit*)(GetDlgItem(IDC_EDITHEX));
poEdit-GetWindowText(strTemp);
iLen = strTemp.GetLength()/2;
char* pcData = static_castchar*(_alloca(iLen));
Hex2Binary(LPCTSTR(strTemp), reinterpret_castunsigned char*(pcData), iLen);
m_oMD5.Reset();
m_oMD5.AddData(pcData, iLen);
m_oMD5.FinalDigest(acDigest);
}
//下面就是实现将输出的结果显示在EDIT里面就可以了
char acHex[129] = {0};
poEdit = (CEdit*)(GetDlgItem(IDC_EDITHEX2));
CString strKey,strResult;
CStatic* poStatic;
int iLength,i,iPrimeP = 0,iPrimeQ = 0,iSubkey = 0;
switch(m_iMethod)
{
case DES:
CE
文档评论(0)