📄 dh_exchange.cpp
字号:
// DH_exchange.cpp : implementation file
//
#include "stdafx.h"
#include "cryptology.h"
#include "DH_exchange.h"
#include "DHt.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DH_exchange property page
IMPLEMENT_DYNCREATE(DH_exchange, CPropertyPage)
DH_exchange::DH_exchange() : CPropertyPage(DH_exchange::IDD)
{
//{{AFX_DATA_INIT(DH_exchange)
m_a_generate_num = 0;
m_a_key = 0;
m_a_to_b = 0;
m_a_from_b = 0;
m_b_generate_num = 0;
m_b_key = 0;
m_b_from_a = 0;
m_b_to_a = 0;
m_pub_g = 0;
m_pub_p = 0;
//}}AFX_DATA_INIT
}
DH_exchange::~DH_exchange()
{
}
void DH_exchange::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DH_exchange)
DDX_Text(pDX, IDC_A_GENERATE_NUM, m_a_generate_num);
DDX_Text(pDX, IDC_A_KEY, m_a_key);
DDX_Text(pDX, IDC_A_SEND_TO_B, m_a_to_b);
DDX_Text(pDX, IDC_A_RECEIVE_FROM_B, m_a_from_b);
DDX_Text(pDX, IDC_B_GENERATE_NUM, m_b_generate_num);
DDX_Text(pDX, IDC_B_KEY, m_b_key);
DDX_Text(pDX, IDC_B_RECEIVE_FROM_A, m_b_from_a);
DDX_Text(pDX, IDC_B_SEND_TO_A, m_b_to_a);
DDX_Text(pDX, IDC_PUBLIC_G, m_pub_g);
DDX_Text(pDX, IDC_PUBLIC_P, m_pub_p);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DH_exchange, CPropertyPage)
//{{AFX_MSG_MAP(DH_exchange)
ON_BN_CLICKED(IDC_EXCHANGE, OnExchange)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DH_exchange message handlers
void DH_exchange::OnExchange()
{
UpdateData();
//long _p,_g;
DHext client1;
DHext client2;
client1.init();
client2.init();
client1.p=m_pub_p;
client1.g=m_pub_g;
client2.p=m_pub_p;
client2.g=m_pub_g;
m_a_generate_num=client1.generate_num();
m_b_generate_num=client2.generate_num();
m_a_to_b=client1.send_my_x();
m_b_to_a=client2.send_my_x();
m_a_from_b=m_b_to_a;
m_b_from_a=m_a_to_b;
client2.get_x(client1.send_my_x());
client1.get_x(client2.send_my_x());
client1.generate_key();
client2.generate_key();
m_a_key=client1.read_key();
m_b_key=client2.read_key();
//cout<<client1.read_key()<<endl<<client2.read_key();
UpdateData(false);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -