小编Mig*_*hez的帖子

使用 16 字节密钥的 C++ Des 加密

我正在尝试使用 16 字节密钥在 DES 中加密动态长度的文本,但是密钥和文本的块大小存在问题,我正在使用 openssl 库进行 DES 加密。如何使用长度为 16 字节的密钥。

这是我的例子:

char * Encrypt( char Key, char *Msg, int size) { 
      static char*    Res;
      DES_cblock      Key2;
      DES_key_schedule schedule;

      Res = ( char * ) malloc( size );

      memcpy(Key2, Key, 8);
      DES_set_odd_parity( &Key2 );
      DES_set_key_checked( &Key2, &schedule );

      unsigned char buf[9];    
      buf[8] = 0;

      DES_ecb_encrypt(( DES_cblock  ) &Msg, ( DES_cblock  ) &buf, &schedule, DES_ENCRYPT );    
      memcpy(Res, buf, sizeof(buf));    
      return (Res);
}

int main(int argc, char const *argv[]) {
      char key[] …
Run Code Online (Sandbox Code Playgroud)

c++ des

3
推荐指数
1
解决办法
1200
查看次数

标签 统计

c++ ×1

des ×1