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

📄 newhash.h

📁 aes的原代码
💻 H
字号:
#pragma once
#include "GenKey.h"
#include "AesCrypt.h"
#ifndef SC
#define SC 50
#endif
#ifndef SL
#define SL 16
#endif
#ifndef SUBKL
#define SUBKL 8
#endif
//可变位散列器,这个散列器具有很强的随机性,加入了aes加密和多次反馈
class NewHash
{
public:
	NewHash(unsigned char *pcstr, unsigned char *username, unsigned char *psw, int len1, int len2, int len3, int keyLen=128);
	NewHash(unsigned char *pcstr, unsigned char *username, int len1, int len2, int keyLen=128);
	void iniKey();
	unsigned char *getKey(unsigned char*);
	~NewHash(void);
private:
	//初始化
	void initial();
	//字节序列相互异或
	void xor(unsigned char *buf, unsigned char *a, unsigned char *b, int l);
	GenKey * genKey;
	unsigned char *buffer;			//存放(pcstr)username,psw的集合
	unsigned char key[SL];				//第一次散列的密钥
	//unsigned char *finkey;			//最终的散列序列
	unsigned char k1[SUBKL];
	unsigned char k2[SUBKL];
	unsigned char m[SC][SL];
	unsigned char me[SC][SL];
	unsigned char ha[SL],hb[SL];
	unsigned char r[SL], re[SL];
	int count,mecnt;
	int keyLen;
	bool flg;						//有否初始化的标志
};

⌨️ 快捷键说明

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