⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dh_exchange.cpp

📁 DH简单的密钥交换
💻 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 + -