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

  • 大小: 4.07MB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2025-02-17
  • 語言: 其他
  • 標(biāo)簽: HILL??希爾密碼??

資源簡介

VC環(huán)境下實現(xiàn)希爾密碼的加密、解碼和破譯

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“HillCode.h“

CHillCode::CHillCode()?
:?m_szM(NULL)?m_szE(NULL)?m_matrixEncryKey()?m_matrixDiscryKey()?m_nLenM(0)?m_nLenE(0)
{
}

CHillCode::~CHillCode()
{
if?(NULL?!=?m_szM)?
{
delete?m_szM;
m_szM?=?NULL;
}
if(NULL?!=?m_szE)
{
delete?m_szE;
m_szE?=?NULL;
}
}

void?CHillCode::SetM(const?unsigned?char?*pM)
{
if?(NULL?!=?m_szM)
{
delete?m_szM;
m_szM?=?NULL;
}

m_szM?=?new?unsigned?char[m_nLenM];
if?(NULL?==?m_szM)
{
exit(1);
}
memcpy((char?*)m_szM?(const?char?*)pM?m_nLenM);
}

int?CHillCode::SetEncryKey(const?long?*?plMatrix?const?int?LEN)
{
int?nLen?=?LEN;
m_nLenM?=?(int)sqrt((double)nLen);
m_nLenE?=?m_nLenM;
if(0?>=?m_nLenM)
{
return?0;
}

m_matrixEncryKey.InitMatrix(m_nLenM?m_nLenM);
int?i?=?0;
int?j?=?0;
for(i=0;?i {
for(j=0;?j {
m_matrixEncryKey.SetElement(i?j?(long)plMatrix[i*m_nLenM+j]);
}
}
m_matrixDiscryKey?=?m_matrixEncryKey;
long?lPhalanxValue?=?0;?
lPhalanxValue?=?m_matrixDiscryKey.GetPhalanxValue();
if(!lPhalanxValue?||?!(lPhalanxValue%2))
{
return?0;
}
m_matrixDiscryKey.Adjoint();
m_matrixDiscryKey?=?m_matrixDiscryKey?*?Reciprocal(lPhalanxValue);
m_matrixDiscryKey.Mod(MAPLEN);

return?1;
}

const?char?*?CHillCode::Encrypting()
{
if(0?==?m_szM)
{
return?NULL;
}

CMatrix?matrixM;
matrixM.InitMatrix(m_nLenM?1);
int?i?=?0;
for(i=0;?i {
matrixM.SetElement(i?0?(long)m_szM[i]);
}

CMatrix?matrixE;
long?lValue?=?0;

if(0?!=?m_szE)
{
delete?m_szE;
m_szE?=?NULL;
}
matrixE.InitMatrix(m_nLenE?1);
matrixE?=?m_matrixEncryKey?*?matrixM;
matrixE.Mod(MAPLEN);
m_szE?=?new?unsigned?char[m_nLenE];
if(0?==?m_szE)
{
exit(1);
}
for(i=0;?i {
matrixE.GetElement(i?0?lValue);
m_szE[i]?=?(unsigned?char)lValue;
}

return?(const?char?*)m_szE;
}

void?CHillCode::SetDiscryKey(const?CMatrix?&matrixDiscryKey)
{
if(matrixDiscryKey.GetRows()?!=?matrixDiscryKey.GetCols())
{
return;
}
m_matrixDiscryKey?=?matrixDiscryKey;
m_nLenM?=?matrixDiscryKey.GetCols();
m_nLenE?=?matrixDiscryKey.GetCols();
}

void?CHillCode::SetE(const?unsigned?char?*pE)
{
if?(NULL?!=?m_szE)
{
delete?m_szE;
m_szE?=?NULL;
}

m_szE?=?new?unsigned?char[m_nLenE];
if?(NULL?==?m_szE)
{
exit(1);
}
memcpy((char?*)m_szE?(const?char?*)pE?m_nLenE);
}

const?char?*?CHillCode::Discrypting()
{
if(0?==?m_szE)
{
return?NULL;
}

CMatrix?matrixE;
matrixE.InitMatrix(m_nLenE?1);
int?i?=?0;
for(i=0;?i {
matrixE.SetElement(i?0?(long)m_szE[i]);
}

CMatrix?matrixM;
long?lValue?=?0;

if(0?!=?m_szM)
{
delete?m_szM;
m_szM?=?NULL;
}
matrixM.InitMatrix(m_nLenM?1);
matrixM?=?m_matrixDiscryKey?*?matrixE;
matrixM.Mod(MAPLEN);
m_szM?=?new?unsigned?char[m_nLenM];
if(0?==?m_szM)
{
exit(1);
}
for

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????18329??2009-12-28?10:54??HillCodor\Debug\HillCode.obj

?????文件??????????0??2009-12-28?10:54??HillCodor\Debug\HillCode.sbr

?????文件????3466240??2009-12-28?10:54??HillCodor\Debug\HillCodor.bsc

?????文件?????131153??2009-12-28?10:54??HillCodor\Debug\HillCodor.exe

?????文件?????237892??2009-12-28?10:54??HillCodor\Debug\HillCodor.ilk

?????文件??????16848??2009-12-28?10:54??HillCodor\Debug\HillCodor.obj

?????文件????9492740??2009-12-28?10:54??HillCodor\Debug\HillCodor.pch

?????文件?????320512??2009-12-28?10:54??HillCodor\Debug\HillCodor.pdb

?????文件???????3860??2009-12-28?10:54??HillCodor\Debug\HillCodor.res

?????文件??????????0??2009-12-28?10:54??HillCodor\Debug\HillCodor.sbr

?????文件??????72993??2009-12-28?10:54??HillCodor\Debug\HillCodorDlg.obj

?????文件??????????0??2009-12-28?10:54??HillCodor\Debug\HillCodorDlg.sbr

?????文件??????24730??2009-12-28?10:54??HillCodor\Debug\Matrix.obj

?????文件??????????0??2009-12-28?10:54??HillCodor\Debug\Matrix.sbr

?????文件?????111628??2009-12-28?10:54??HillCodor\Debug\StdAfx.obj

?????文件????1607628??2009-12-28?10:54??HillCodor\Debug\StdAfx.sbr

?????文件?????263168??2009-12-28?10:54??HillCodor\Debug\vc60.idb

?????文件?????454656??2009-12-28?10:54??HillCodor\Debug\vc60.pdb

?????目錄??????????0??2009-12-28?10:54??HillCodor\Debug

?????文件????????296??2005-09-11?22:22??HillCodor\Discryption.txt

?????文件????????296??2005-09-11?22:22??HillCodor\Encryption.txt

?????文件???????3845??2005-09-11?16:07??HillCodor\HillCode.cpp

?????文件????????873??2005-09-11?14:07??HillCodor\HillCode.h

?????文件??????23536??2005-09-11?22:49??HillCodor\HillCodor.aps

?????文件???????2855??2005-09-11?22:51??HillCodor\HillCodor.clw

?????文件???????2105??2005-09-10?14:07??HillCodor\HillCodor.cpp

?????文件???????4466??2005-09-11?22:51??HillCodor\HillCodor.dsp

?????文件????????543??2005-09-10?14:07??HillCodor\HillCodor.dsw

?????文件???????1357??2005-09-10?14:07??HillCodor\HillCodor.h

?????文件??????55808??2005-09-11?22:51??HillCodor\HillCodor.opt

............此處省略22個文件信息

評論

共有 條評論