ofb.cpp

来自「含有多种公开密钥算法、多种块加密、多种数据流加密、多种HASH函数、多种Chec」· C++ 代码 · 共 44 行

CPP
44
字号
/************************************************** OFB Mode Source File                           ** (C) 1999-2002 The Botan Project                **************************************************/#include <botan/ofb.h>namespace Botan {/************************************************** OFB Constructor                                **************************************************/OFB::OFB(const std::string& cipher_name, const SymmetricKey& key,         const BlockCipherModeIV& iv) :   BlockCipherMode(cipher_name, "OFB", key, iv)   {   if(!valid_iv_length(iv.length()))      throw Invalid_IV_Length(name(), iv.length());   cipher->encrypt(state);   }/************************************************** OFB Encryption/Decryption                      **************************************************/void OFB::write(const byte input[], u32bit length)   {   while(length)      {      u32bit copied = std::min(BLOCK_SIZE - position, length);      xor_buf(buffer, input, state + position, copied);      send(buffer, copied);      input += copied;      length -= copied;      position += copied;      if(position == BLOCK_SIZE)         {         cipher->encrypt(state);         position = 0;         }      }   }}

⌨️ 快捷键说明

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