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

📄 cipher.h

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 H
字号:
/*////               INTEL CORPORATION PROPRIETARY INFORMATION//  This software is supplied under the terms of a license agreement or//  nondisclosure agreement with Intel Corporation and may not be copied//  or disclosed except in accordance with the terms of that agreement.//        Copyright (c) 2005 Intel Corporation. All Rights Reserved.//*/#if !defined( _CIPHER_H_ )#define _CIPHER_H_#include "ippcp.h"#include "cipherdefs.h"class Cipher{public:   int EncryptInit(CipherMode mode=ECB, const Ipp8u* pIV=0, int parm=0)       {return Init(ENCRYPT, mode, pIV, parm);}   int DecryptInit(CipherMode mode=ECB, const Ipp8u* pIV=0, int parm=0)       {return Init(DECRYPT, mode, pIV, parm);}      int EncryptUpdate(Ipp8u* pDst, int* pDstLen, const Ipp8u* pSrc, int srcLen);   int DecryptUpdate(Ipp8u* pDst, int* pDstLen, const Ipp8u* pSrc, int srcLen);      virtual int EncryptFinal(Ipp8u* pDst, int* pDstLen);   virtual int DecryptFinal(Ipp8u* pDst, int* pDstLen);      virtual bool IsWeakKey(const Ipp8u* pKey, int keyLen=0) {return true;}   void SetPadding(bool isPadding) {padding = isPadding;}   virtual void AddPadding(void);   virtual int TrimPadding(void);protected:   int Init(CipherOperation op, CipherMode m, const Ipp8u* pIV, int parm);   virtual int doCipher(Ipp8u* pDst, const Ipp8u* pSrc, int srcLen) = 0;public:   IppStatus status;protected:   CipherOperation operation;       // i.e ENCRYPT/DECRYPT   CipherMode      mode;            // i.e ECB/CBC/CFB/CTR/....   int             param;           // CFB or CTR parameter    bool            padding;         // padding request   int             algoBlockSize;   // algorithm specific data block size   int             dataSgmntSize;   // input data segment size (may be different from algo)   Ipp8u iv[MAX_BLKLEN];   // working iv   Ipp8u ibuf[MAX_BLKLEN]; // partial block   int   ibufLen;          // partial block infill   Ipp8u obuf[MAX_BLKLEN]; // possible last block of decryption   bool  obufUsed;         // obuf contains actual data};#endif // _CIPHER_H_

⌨️ 快捷键说明

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