rar20crypto.h

来自「7-Zip 3.11的源码」· C头文件 代码 · 共 33 行

H
33
字号
// Crypto/Rar20/Crypto.h

#pragma once

#ifndef __CRYPTO_RAR20_CRYPTO_H
#define __CRYPTO_RAR20_CRYPTO_H

namespace NCrypto {
namespace NRar20 {

class CData
{
  BYTE SubstTable[256];
  UINT32 Keys[4];
  UINT32 SubstLong(UINT32 t)
  {
    return (UINT32)SubstTable[(int)t & 255] | 
           ((UINT32)SubstTable[(int)(t >> 8) & 255] << 8) |
           ((UINT32)SubstTable[(int)(t >> 16) & 255] << 16) | 
           ((UINT32)SubstTable[(int)(t >> 24) & 255] << 24);
  }

  void UpdateKeys(const BYTE *data);
public:
  void EncryptBlock(BYTE *Buf);
  void DecryptBlock(BYTE *Buf);
  void SetPassword(const BYTE *password, UINT32 passwordLength);
};

}}

#endif

⌨️ 快捷键说明

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