개발자 Q&A

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

2025.05.17 05:42

Sodium_crypto_box 함수 사용 중 발생하는 에러에 대해 질문

목록
  • Go매니아 14일 전 2025.05.17 05:42 인기
  • 638
    1
저는 sodium_crypto_box 함수를 사용하여 데이터를 암호화하고 복호화하려고 합니다. 그러나 나의 코드에서 발생하는 에러는 'invalid key' 이라고 나옵니다. 이 에러는 무엇을 의미하고 어떻게 해결할 수 있나요?

나의 코드에서 key를 생성하는 부분은 다음과 같습니다.

c

const unsigned char *key = sodium_crypto_secretbox_keygen();



key를 사용하여 암호화하는 부분은 다음과 같습니다.

c

unsigned char *encrypted = sodium_crypto_box(plaintext, &size, key);



key를 사용하여 복호화하는 부분은 다음과 같습니다.

c

unsigned char *decrypted = sodium_crypto_box_open(encrypted, &size, key);



위의 코드에서 발생하는 에러는 'invalid key' 이라고 나옵니다. 이 에러는 무엇을 의미하고 어떻게 해결할 수 있나요?

    댓글목록

    profile_image
    나우호스팅  14일 전



    'invalid key' 에러는 암호화 키가 유효하지 않거나, 암호화와 복호화에 사용하는 키가 다르기 때문입니다.

    위의 코드에서 key를 생성하는 부분은 sodium_crypto_secretbox_keygen() 함수를 사용하여 secret key를 생성합니다. 그러나 암호화와 복호화에 사용하는 key는 동일해야 합니다.

    해결 방법은 두 가지입니다.

    1. 암호화와 복호화에 사용하는 key를 동일하게 설정합니다.
    2. 암호화와 복호화에 사용하는 key를 생성하는 부분을 동일하게 설정합니다.

    예를 들어, 다음과 같이 암호화와 복호화에 사용하는 key를 동일하게 설정할 수 있습니다.

    #hostingforum.kr
    c
    
    const unsigned char *key = sodium_crypto_secretbox_keygen();
    
    unsigned char *encrypted = sodium_crypto_box(plaintext, &size, key);
    
    unsigned char *decrypted = sodium_crypto_box_open(encrypted, &size, key);
    
    


    또는, 다음과 같이 암호화와 복호화에 사용하는 key를 생성하는 부분을 동일하게 설정할 수 있습니다.

    #hostingforum.kr
    c
    
    const unsigned char *key1 = sodium_crypto_secretbox_keygen();
    
    const unsigned char *key2 = sodium_crypto_secretbox_keygen();
    
    unsigned char *encrypted = sodium_crypto_box(plaintext, &size, key1);
    
    unsigned char *decrypted = sodium_crypto_box_open(encrypted, &size, key2);
    
    


    위의 예제에서 key1과 key2는 동일한 key를 생성하는 부분이지만, 암호화와 복호화에 사용하는 key가 다릅니다. 따라서 'invalid key' 에러가 발생합니다.

    따라서, 암호화와 복호화에 사용하는 key를 동일하게 설정하거나, 암호화와 복호화에 사용하는 key를 생성하는 부분을 동일하게 설정하는 것이 좋습니다.

    2025-05-17 05:43

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

검색

게시물 검색