Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8128457
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T07:53:22+00:00 2026-06-06T07:53:22+00:00

I am writing an application using the crypto++ library. For those not familiar with

  • 0

I am writing an application using the crypto++ library. For those not familiar with it, the ECB_Mode template classes inherit from CipherModeBase. The program compiles and runs, but the output I am getting is incorrect. When I call the encryption method from the cipher_object, it doesn’t work the same way as if I use an ECB_Mode object directly. I have verified that the options object instance variables are getting assigned correctly. I would like to create the instances within an if_then_else structure or switch_case so I can keep the code nice and DRY. What am I doing wrong?

Here is what I am trying but doesn’t work:

    CipherModeBase *cipher_object;
    cipher_object == NULL;

    if(options->cipher == BS_AES)
    {
        ECB_Mode<AES >::Encryption ecbEncryption(options->key, options->keylen);
        cipher_object = &ecbEncryption;
    }
    else if(options->cipher == BS_TWOFISH)
    {
        ECB_Mode<Twofish >::Encryption ecbEncryption(options->key, options->keylen);
        cipher_object = &ecbEncryption;     
    }
cipher_object->processData(args);

Here is what does work:

ECB_Mode<AES >::Encryption ecbEncryption(options->key, options->keylen);
ecbEncryption.processData(args);

PS. I know not to use ECB mode. I just don’t want to mess with IVs until I can get everything working. I am also relatively inexperienced with C++.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T07:53:23+00:00Added an answer on June 6, 2026 at 7:53 am

    Here:

    cipher_object == NULL;
    
    if(options->cipher == BS_AES)
    {
        // v
        ECB_Mode<AES >::Encryption ecbEncryption(options->key, options->keylen);
        cipher_object = &ecbEncryption;
    }
    

    ecbEncryption is local to that scope. You are storing the address of a local, and using it after it goes out of scope. That’s undefined behaviour. You should allocate it on the heap using the new keyword:

    if(options->cipher == BS_AES)
    {
        cipher_object = new ECB_Mode<AES >::Encryption(options->key, options->keylen);
    }
    

    You should do the same for the other if statement.

    Also note that this:

    cipher_object == NULL;
    

    Should be changed to this:

    cipher_object = NULL;
    

    The problem should be solved using the above code, though.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

So I am writing an application using ajax getting from a xml based api.
I am writing an application using openFrameworks, but my question is not specific to
I'm writing an application using Ruby and the Eventmachine library. I really like the
When writing an application using the GIO and GVFS libraries from the GNOME stack
I am writing a server application using Boost Asio: Server: Running io_service.run() from pool
I'm writing an application using the Spring Framework. Description of Exercise: Write a program
I’m writing Qt application using some 3rd party library. I want to package it
I am writing an application using Cairo in C that does the following: Load
I am writing an application using the MVVM pattern. I am providing data to
I'm writing an application using DDD techniques. This is my first attempt at a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.