dlm5dlg.h

来自「MD5的全称是Message-digest Algorithm 5(信息-摘要算」· C头文件 代码 · 共 78 行

H
78
字号
// DLM5Dlg.h : header file
//

#if !defined(AFX_DLM5DLG_H__72F0F9B9_4EE0_46BB_8684_9A0D915101F4__INCLUDED_)
#define AFX_DLM5DLG_H__72F0F9B9_4EE0_46BB_8684_9A0D915101F4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CDLM5Dlg dialog

class CDLM5Dlg : public CDialog
{
// Construction
public:
	CDLM5Dlg(CWnd* pParent = NULL);	// standard constructor
	// 散列
	CString Digest(LPCTSTR message, UINT len = 0);
// Dialog Data
	//{{AFX_DATA(CDLM5Dlg)
	enum { IDD = IDD_DLM5_DIALOG };
	CString	m_In;
	CString	m_Out;
	//}}AFX_DATA

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

// Implementation
protected:
	HICON m_hIcon;
	// f子函数 = (x&y)|((~x)&z)
	inline UINT Inner_f(UINT x, UINT y, UINT z);
	// g子函数 = (x&z)|(y&(~z)) 
	inline UINT Inner_g(UINT x, UINT y, UINT z);
	// h子函数 = x^y^z 
	inline UINT Inner_h(UINT x, UINT y, UINT z);
	// i子函数 = y^(x|(~z))
	inline UINT Inner_i(UINT x, UINT y, UINT z);
	// 循环左移位
	inline UINT Inner_RotateLeft(UINT x, UINT s);
	// ff子函数
	inline void Inner_ff(UINT &a, UINT b, UINT c, UINT d, UINT mj, 
		UINT s, UINT ti);
	// gg子函数
	inline void Inner_gg(UINT &a, UINT b, UINT c, UINT d, UINT mj, 
		UINT s, UINT ti);
	// hh子函数
	inline void Inner_hh(UINT &a, UINT b, UINT c, UINT d, UINT mj, 
		UINT s, UINT ti);
	// ii子函数
	inline void Inner_ii(UINT &a, UINT b, UINT c, UINT d, UINT mj, 
		UINT s, UINT ti);
	// 处理一个组
	void MakeOneTurn(UINT &a, UINT &b, UINT &c, UINT &d, UINT 
		messageGroup[16]);
	// Generated message map functions
	//{{AFX_MSG(CDLM5Dlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	virtual void OnOK();
	virtual void OnCancel();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DLM5DLG_H__72F0F9B9_4EE0_46BB_8684_9A0D915101F4__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?