개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.13 06:42

mdecrypt_generic 함수 사용에 대한 질문

목록
  • Svelte연구가 1일 전 2025.05.13 06:42
  • 5
    1
저는 암호화된 데이터를 암호화 해제하는 데 mdecrypt_generic 함수를 사용하고 있습니다. 그러나 함수의 첫 번째 인자인 'mdecrypt_generic' 함수의 매개변수 중 'cipher'를 어떻게 설정해야 하는지 모르겠습니다.

암호화 알고리즘은 AES-256-CBC로 설정되어 있습니다. 'cipher' 매개변수를 설정할 때 어떤 값을 사용해야 하는지 알려주세요.

예를 들어, AES-256-CBC를 사용하는 경우 'cipher' 매개변수에 어떤 값을 넣어야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    mdecrypt_generic 함수의 'cipher' 매개변수는 EVP_CIPHER_CTX 구조체를 나타내는 포인터를 받습니다.

    AES-256-CBC를 사용하려면, 먼저 EVP_CIPHER_CTX_new 함수를 호출하여 EVP_CIPHER_CTX 구조체를 생성한 후, EVP_EncryptInit_ex 함수를 호출하여 AES-256-CBC 알고리즘을 초기화합니다.

    이후 EVP_CIPHER_CTX 구조체의 포인터를 'cipher' 매개변수에 전달하여 mdecrypt_generic 함수를 호출합니다.

    예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    c
    
    #include 
    
    
    
    int main() {
    
        EVP_CIPHER_CTX* ctx;
    
        unsigned char* key = ...; // AES-256-CBC 키
    
        unsigned char* iv = ...; // AES-256-CBC IV
    
        unsigned char* encrypted_data = ...; // 암호화된 데이터
    
        unsigned char* decrypted_data = ...; // 암호화 해제한 데이터
    
    
    
        // EVP_CIPHER_CTX 생성
    
        ctx = EVP_CIPHER_CTX_new();
    
        if (!ctx) {
    
            // 오류 처리
    
        }
    
    
    
        // AES-256-CBC 초기화
    
        if (!EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, key, iv)) {
    
            // 오류 처리
    
        }
    
    
    
        // 암호화 해제
    
        if (!mdecrypt_generic(ctx, encrypted_data, ...)) {
    
            // 오류 처리
    
        }
    
    
    
        // 암호화 해제한 데이터 저장
    
        memcpy(decrypted_data, ...);
    
    
    
        // EVP_CIPHER_CTX 해제
    
        EVP_CIPHER_CTX_free(ctx);
    
    
    
        return 0;
    
    }
    
    


    위 코드에서 'cipher' 매개변수는 EVP_CIPHER_CTX 구조체의 포인터를 받기 때문에, EVP_EncryptInit_ex 함수를 호출하여 AES-256-CBC 알고리즘을 초기화한 후, EVP_CIPHER_CTX 구조체의 포인터를 'cipher' 매개변수에 전달하여 mdecrypt_generic 함수를 호출합니다.

    2025-05-13 06:43

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 19,162건 / 10 페이지

검색

게시물 검색