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

📄 ssha.h

📁 伯克利做的SFTP安全文件传输协议
💻 H
字号:
// ssha.h// Scott McPeak's transmogrify of Wei Dai and Peter Gutmann's code, to// copyright SafeTP Development Group, Inc., 2000  Terms of use are as specified in license.txt//   use a simpler subset of C++ for greater portability#ifndef __SSHA_H#define __SSHA_H// ---------------- iterhash.h, explicit word32 -------------------------#include "cryptlib.h"#include "misc.h"#include "datablok.h"    // DataBlockclass IteratedHash32 : public HashModule{public:	IteratedHash32(unsigned int blockSize, unsigned int digestSize);	~IteratedHash32();	void Update(const byte *input, unsigned int length);	typedef word32 HashWordType;protected:	void PadLastBlock(unsigned int lastBlockSize, byte padFirst=0x80);	virtual void Init() =0;	virtual void HashBlock(const word32 *input) =0;	unsigned int blockSize;	word32 countLo, countHi;	// 64-bit bit count	SecBlock<word32> data;			// Data buffer	SecBlock<word32> digest;			// Message digest};// ---------- end of iterhash.h derivatives --------------------class SHA : public IteratedHash32{public:	SHA();	void Final(byte *hash);	unsigned int DigestSize() const {return DIGESTSIZE;};#ifdef SAFETP        unsigned int DataSize() const { return DATASIZE; }#endif	static void CorrectEndianess(word32 *out, const word32 *in, unsigned int byteCount)	{#ifdef SAFETP_LITTLE_ENDIAN		byteReverse(out, in, byteCount);#else		if (in!=out)			memcpy(out, in, byteCount);#endif	}	static void Transform(word32 *digest, const word32 *data );	enum {DIGESTSIZE = 20, DATASIZE = 64};private:	void Init();	void HashBlock(const word32 *input);};// generic hashDataBlock hashDataBlock(DataBlock const &data, HashModule &hash);DataBlock Sha1(DataBlock const &data);#endif // __SSHA_H

⌨️ 快捷键说明

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