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

📄 mode_pad.h

📁 含有多种公开密钥算法、多种块加密、多种数据流加密、多种HASH函数、多种CheckSum校验、多种MAC校验等几十种加密算法的程序
💻 H
字号:
/************************************************** CBC Padding Methods Header File                ** (C) 1999-2002 The Botan Project                **************************************************/#ifndef BOTAN_PADDING_H__#define BOTAN_PADDING_H__#include <botan/types.h>#include <botan/exceptn.h>#include <string>namespace Botan {/************************************************** Block Cipher Mode Padding Method Base Class    **************************************************/class BlockCipherModePaddingMethod   {   public:      virtual void pad(byte[], u32bit, u32bit) const = 0;      virtual u32bit unpad(const byte[], u32bit) const = 0;      virtual u32bit pad_bytes(u32bit, u32bit) const = 0;      virtual bool valid_blocksize(u32bit) const = 0;      virtual std::string name() const = 0;   };/************************************************** PKCS#7 Padding                                 **************************************************/class PKCS7_Padding : public BlockCipherModePaddingMethod   {   public:      void pad(byte[], u32bit, u32bit) const;      u32bit unpad(const byte[], u32bit) const;      u32bit pad_bytes(u32bit bs, u32bit pos) const { return (bs - pos); }      bool valid_blocksize(u32bit) const;      std::string name() const { return "PKCS7"; }   };/************************************************** One And Zeros Padding                          **************************************************/class OneAndZeros_Padding : public BlockCipherModePaddingMethod   {   public:      void pad(byte[], u32bit, u32bit) const;      u32bit unpad(const byte[], u32bit) const;      u32bit pad_bytes(u32bit bs, u32bit pos) const { return (bs - pos); }      bool valid_blocksize(u32bit) const;      std::string name() const { return "OneAndZeros"; }   };/************************************************** Null Padding                                   **************************************************/class Null_Padding : public BlockCipherModePaddingMethod   {   public:      void pad(byte[], u32bit, u32bit) const { return; }      u32bit unpad(const byte[], u32bit size) const { return size; }      u32bit pad_bytes(u32bit, u32bit) const { return 0; }      bool valid_blocksize(u32bit) const { return true; }      std::string name() const { return "NoPadding"; }   };}#endif

⌨️ 快捷键说明

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