зрядів вправо
flag = g & 1; = g>> 1; (flag)
g | = 0x80000000;
} g;// повернути значення гами
}
// шифрує відкритий текст source за паролем pwd
// і записує шифрований текст у dest
// шифрування сімметрічноеcrypt (const char * source, char * dest, char * pwd, int len)
{, nBlocs; long * pSrc, * pDst, g; = (unsigned long *) source; = (unsigned long *) dest;
g = gamma (pwd) ;//отримати гаму шифру = (len + 1)/4 + 1;// порахувати число 32-розрядних блоків
for (i = 0; i
відкритого
* pDst = * pSrc ^ gamma (0);// тексту блоками по 32 біта [nBlocs * 4] = 0 ;//вставити завершальний символ 0nBlocs * 4 + 1 ;//повернути число байт в зашифрованому тексті
}
Додаток Клієнт
# include "stdafx.h"
# include "llip_client.h"
# include "MainFrm.h"
# include "llip_clientDoc.h"
# include "llip_clientView.h"
# include "PropDlg.h"
# ifdef _DEBUG
# define new DEBUG_NEW
# undef THIS_FILEchar THIS_FILE [] = __ FILE__;
# endif_MESSAGE_MAP (CLlip_clientApp, CWinApp)
// {{AFX_MSG_MAP (CLlip_clientApp) _COMMAND (ID_APP_ABOUT, OnAppAbout)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}} AFX_MSG_MAP
// Standard file based document commands_COMMAND (ID_FILE_NEW, CWinApp :: OnFileNew) _COMMAND (ID_FILE_OPEN, CWinApp :: OnFileOpen) _MESSAGE_MAP () _clientApp :: CLlip_clientApp ()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
} _clientApp theApp; CLlip_clientApp :: InitInstance ()
{short port;// порт сервераlong addr;// адреса сервераd (NULL); (d.DoModal () == IDOK) {= d.m_port; (m_pwd, d.m_pwd.operator LPCTSTR (), 20); = * ((unsigned long *) d.m_addr);
} false; (! AfxSocketInit ())
{(IDP_SOCKETS_INIT_FAILED); FALSE;
}
# ifdef _AFXDLLdControls () ;//Call this when using MFC in a shared DLL
# elsedControlsStatic () ;//Call this when linking to MFC statically
# endif (_T ("Local AppWizard-Generated Applic...