newhash.h
来自「aes的原代码」· C头文件 代码 · 共 41 行
H
41 行
#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 + =
减小字号Ctrl + -
显示快捷键?