亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sha_512dlg.cpp

?? SHA12加解密算法~~~~~~ 密碼學課程設計
?? CPP
字號:
// sha_512Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "sha_512.h"
#include "sha_512Dlg.h"
#include "sha_table.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

unsigned __int64 yi0 ( unsigned __int64 nn ) ;
unsigned __int64 yi1 ( unsigned __int64 nn ) ;
unsigned __int64 rotr ( unsigned __int64 nn , int ci ) ;
unsigned __int64 shr ( unsigned __int64 nn , int ci ) ;
unsigned __int64 ch ( unsigned __int64 e , unsigned __int64 f , unsigned __int64 g ) ;
unsigned __int64 yy0 ( unsigned __int64 nn ) ;
unsigned __int64 yy1 ( unsigned __int64 nn ) ;
unsigned __int64 maj ( unsigned __int64 a , unsigned __int64 b , unsigned __int64 c ) ;
class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSha_512Dlg dialog

CSha_512Dlg::CSha_512Dlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSha_512Dlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSha_512Dlg)
	m_hash = _T("");
	m_mess = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CSha_512Dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSha_512Dlg)
	DDX_Text(pDX, IDC_HAS, m_hash);
	DDX_Text(pDX, IDC_Message, m_mess);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSha_512Dlg, CDialog)
	//{{AFX_MSG_MAP(CSha_512Dlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_OPEN, OnOpen)
	ON_BN_CLICKED(IDC_HASH, OnHash)
	ON_BN_CLICKED(IDC_EXIT, OnExit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSha_512Dlg message handlers

BOOL CSha_512Dlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CSha_512Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CSha_512Dlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CSha_512Dlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CSha_512Dlg::OnOpen() 
{
	// TODO: Add your control notification handler code here
	UpdateData ( true ) ;
	CFileDialog fileDlg ( TRUE ) ;	
	fileDlg.m_ofn.lpstrTitle = "Select which you want to encryption" ;
	fileDlg.m_ofn.lpstrFilter = "Text Files (*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0" ;
	if ( IDOK == fileDlg.DoModal())
	{	CFile file(fileDlg.GetFileName() , CFile::modeRead ) ;
		char *pBuf ;
		DWORD dwFileLen ;
		dwFileLen = file.GetLength() ;
		pBuf = new char[dwFileLen+1] ;
		pBuf[dwFileLen] = 0 ;
		file.Read ( pBuf , dwFileLen ) ;
		file.Close () ;
		m_mess = pBuf ;
	}
	UpdateData ( false ) ;
	
}

void CSha_512Dlg::OnHash() 
{
	// TODO: Add your control notification handler code here
	UpdateData ( true ) ;
	unsigned __int64 w [ 80 ] ;
	unsigned __int64 h [ 8 ] = { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ;
	unsigned __int64 a [ 8 ] ;


	unsigned __int64 l = strlen ( m_mess ) ;
	unsigned __int64 jia = l % 128 ;
	jia = 112 - jia ;
	if ( jia < 0 ) 
		jia += 128 ;
	jia += 16 ;
	unsigned __int64 ll = l + jia ;
	unsigned __int64 i = 0 ;
	unsigned __int64 j , k ;
	

	m_hash = "" ;
	while ( i < ll ) 
	{	int st= i ;
		k = 0 ;
		for ( j = 0 ; j < 8 ; j ++ ) 
		{
			a[j] = initial[j] ;

		}
	

		for ( ; i < st + 128 ; i += 8 , k ++ )
		{	if ( i == ll - 16 )
				w[k] = 0 ;
			else if ( i == ll - 8 ) 
			{	w[k] = l ;
			}
			else
			{	w[k] = 0 ;
				for ( j = i ; j < i + 8 ; j ++ ) 
				{	if ( j < l ) 
					{	int s = m_mess[int (j)] ;
						if ( s < 0 ) 
							s += 256 ;
						unsigned __int64 t = s ;
						
						w[k] = w[k] * 256 + t ;
					}
					else if ( j == l ) 
					{	w[k] = w[k] * 256 + 1 ;
					}
					else
						w[k] = w[k] * 256 ;
				}
			}
		}
		for ( ; k < 80 ; k ++ ) 
		{	
			w[k] = ( yi0 ( w[k - 2] ) ^ w[k - 7] ^ yi1 ( w[k - 15] ) ^ w[k - 16] ) ;
		}
		for ( k = 0 ; k < 80 ; k ++ ) 
		{	unsigned __int64 t1 = ( a[7] + ch ( a[4] , a[5] , a[6] ) + yy1 ( a[4] ) + w[k] + key[k] ) ; 
			unsigned __int64 t2 = ( yy0 ( a[0] ) + maj ( a[0] , a[1] , a[2] ) ) ;

			
			a[7] = a[6] ;
			a[6] = a[5] ;
			a[5] = a[4] ;
			a[4] = a[3] + t1 ;
			a[3] = a[2] ;
			a[2] = a[1] ;
			a[1] = a[0] ;
			a[0] = t1 + t2 ;
		}

		for ( j = 0 ; j < 8 ; j ++ ) 
		{	h[j] = ( h[j] + a[j] ) ;
		//	CString rr ;
		//	rr.Format ( "%20I64u" , h[j] ) ;
		//	m_hash += rr ;
		}
		//m_hash += "\r\n" ;
		
		
	}
	for ( i = 0 ; i < 8 ; i ++ ) 
	{	CString rr ;
		rr.Format ( "%I64u" , h[i] ) ;
		m_hash += rr ;
	}
	UpdateData ( false ) ;
	
}



unsigned __int64 yi0 ( unsigned __int64 nn ) 
{	return ( rotr ( nn , 1 ) ^ rotr ( nn , 8 ) ^ shr ( nn , 7 ) ) ;
}


unsigned __int64 yi1 ( unsigned __int64 nn ) 
{	return ( rotr ( nn , 19 ) ^ rotr ( nn , 61 ) ^ shr ( nn , 6 ) ) ;
}


unsigned __int64 rotr ( unsigned __int64 nn , int ci ) 
{	unsigned __int64 mo = 1 << ci ;
	unsigned __int64 gao = nn % mo ;
	unsigned __int64 di = nn / mo ;
	mo = 1 << ( 64 - ci ) ;
	return gao * mo + di ;
}


unsigned __int64 shr ( unsigned __int64 nn , int ci )
{	unsigned __int64 mo = 1 << ci ;
	return nn / mo * mo ;
}

unsigned __int64 ch ( unsigned __int64 e , unsigned __int64 f , unsigned __int64 g ) 
{	if ( e ) 
		return f;
	else 
		return g ;
}

unsigned __int64 yy0 ( unsigned __int64 nn ) 
{	return ( rotr ( nn , 28 ) ^ rotr ( nn , 34 ) ^ rotr ( nn , 39 ) ) ;
}

unsigned __int64 yy1 ( unsigned __int64 nn ) 
{	return ( rotr ( nn , 14 ) ^ rotr ( nn , 18 ) ^ rotr ( nn , 41 ) ) ;
}


unsigned __int64 maj ( unsigned __int64 a , unsigned __int64 b , unsigned __int64 c ) 
{	return ( ( a & b ) ^ ( a & c ) ^ ( b & c ) ) ; 
}

void CSha_512Dlg::OnExit() 
{
	// TODO: Add your control notification handler code here
	OnOK();
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av一二三| 国产一区激情在线| 国产原创一区二区三区| 色婷婷av一区二区三区大白胸| 51久久夜色精品国产麻豆| 中文字幕五月欧美| 精品一区二区三区在线播放视频 | 国产欧美日韩亚州综合| 视频在线在亚洲| 在线亚洲欧美专区二区| 国产精品久久影院| 国产夫妻精品视频| 日韩欧美二区三区| 日产国产高清一区二区三区 | 亚洲激情网站免费观看| 国产精品综合av一区二区国产馆| 欧美日韩一二区| 自拍偷拍亚洲综合| 福利电影一区二区三区| 久久综合久久99| 久久精品国产澳门| 精品美女一区二区三区| 日韩电影在线免费| 欧美精品1区2区3区| 香蕉成人啪国产精品视频综合网| 色哟哟在线观看一区二区三区| 国产精品热久久久久夜色精品三区| 精品一二三四区| 欧美精品一区二区三| 久热成人在线视频| 欧美r级在线观看| 免费成人在线影院| 日韩欧美成人激情| 国产一区二区三区电影在线观看| 91精品国产综合久久精品| 婷婷综合久久一区二区三区| 欧美卡1卡2卡| 美女视频一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 国内成+人亚洲+欧美+综合在线| 精品国产污污免费网站入口| 国产精品综合在线视频| 国产精品免费观看视频| 91影视在线播放| 亚洲一区二区三区四区不卡| 欧美日韩国产a| 九色|91porny| 国产精品网站在线播放| 色综合久久综合网| 三级欧美韩日大片在线看| 日韩欧美国产精品| 大美女一区二区三区| 亚洲综合av网| 精品欧美一区二区三区精品久久| 国产成人在线免费| 亚洲美女免费在线| 日韩欧美中文字幕制服| 成人午夜av影视| 亚洲成人久久影院| 久久久精品国产免大香伊| 色综合天天综合网天天看片| 视频一区在线视频| 国产清纯白嫩初高生在线观看91 | 国产精品青草久久| 日本韩国欧美国产| 久久精品国产色蜜蜜麻豆| 国产精品国产三级国产| 8v天堂国产在线一区二区| 国产酒店精品激情| 午夜精品久久久久久久99樱桃| 精品欧美乱码久久久久久1区2区| 北条麻妃国产九九精品视频| 亚洲成人自拍网| 久久这里只有精品首页| 欧美影视一区在线| 国产九色精品成人porny| 亚洲国产综合91精品麻豆| 久久久久国产免费免费| 欧美日韩一级二级| 不卡的av中国片| 精品一区二区三区在线观看| 亚洲国产日韩综合久久精品| 中文字幕成人网| 精品日韩在线观看| 在线观看日韩电影| wwww国产精品欧美| 欧美在线视频日韩| 国产a区久久久| 奇米色一区二区| 一区二区三区不卡在线观看 | 日本亚洲欧美天堂免费| 17c精品麻豆一区二区免费| 精品av综合导航| 精品污污网站免费看| 9久草视频在线视频精品| 精品一区二区在线观看| 香港成人在线视频| 亚洲精品中文字幕乱码三区| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲综合成人在线视频| 国产精品女人毛片| 久久久久97国产精华液好用吗| 日韩一级二级三级| 欧美一区二区三区在线电影| 欧美三级在线看| 欧美伊人久久大香线蕉综合69| 97久久超碰精品国产| 成人免费高清在线观看| 懂色av中文字幕一区二区三区| 精品一区二区三区久久久| 蜜臀av在线播放一区二区三区| 亚洲成va人在线观看| 亚洲国产毛片aaaaa无费看 | 国产精品视频一二| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美日韩免费一区二区三区视频| 一本久久综合亚洲鲁鲁五月天| 成人aaaa免费全部观看| 成人18视频在线播放| 99久久99久久精品国产片果冻| 99久久精品费精品国产一区二区| 99久久久久免费精品国产 | 91麻豆精品国产无毒不卡在线观看| 欧美色图天堂网| 51午夜精品国产| 欧美精品一区二区三区在线| 国产亚洲成aⅴ人片在线观看 | 国产成人精品免费一区二区| 粉嫩在线一区二区三区视频| 99视频精品在线| 在线视频一区二区三区| 欧美日韩国产精品自在自线| 日韩欧美国产系列| 国产精品午夜在线观看| 夜夜揉揉日日人人青青一国产精品| 亚洲福利一区二区三区| 美女视频免费一区| 成人国产精品免费观看| 欧美性生活大片视频| 欧美电影免费提供在线观看| 久久久777精品电影网影网| 成人欧美一区二区三区| 五月婷婷激情综合| 国产精品一线二线三线精华| 99精品热视频| 欧美一区二区三区精品| 国产日韩欧美a| 亚洲va欧美va国产va天堂影院| 久久99久久99精品免视看婷婷| 成人黄色电影在线| 欧美精品色综合| 国产精品午夜在线观看| 日韩精品亚洲一区| 成人免费毛片高清视频| 欧美福利电影网| 国产精品美日韩| 热久久一区二区| 色综合色狠狠天天综合色| 欧美成人伊人久久综合网| 亚洲色图丝袜美腿| 成人午夜在线免费| 97久久久精品综合88久久| 在线播放欧美女士性生活| 国产精品视频在线看| 青青草国产精品97视觉盛宴| 99国产精品国产精品久久| 精品国内二区三区| 夜夜揉揉日日人人青青一国产精品| 久久电影网站中文字幕| 欧美午夜一区二区三区 | 99久久久精品| 久久综合九色综合欧美98| 午夜欧美电影在线观看| 成人黄色一级视频| 久久伊99综合婷婷久久伊| 亚洲成a天堂v人片| 一本一道波多野结衣一区二区 | 欧美日本视频在线| 日韩美女视频19| 午夜久久电影网| 99久久久久免费精品国产 | **网站欧美大片在线观看| gogogo免费视频观看亚洲一| 日韩欧美激情在线| 亚洲不卡av一区二区三区| a4yy欧美一区二区三区| 中文乱码免费一区二区| 国产一区二区三区四区五区美女| 这里只有精品视频在线观看| 亚洲成人中文在线| 欧美日韩三级一区二区| 亚洲成人午夜影院| 欧亚一区二区三区| 夜夜精品视频一区二区| 91久久精品午夜一区二区| 亚洲色图一区二区| 色综合久久88色综合天天6| 亚洲欧美日韩国产一区二区三区 | 欧美日韩在线播放一区| 有码一区二区三区|