libsodium でcrypto_secretbox_easy () を使用して一部のデータを暗号化/復号化するのに苦労しています。使用法に関する適切なドキュメントが見つからないようです。
ユーザーからパスワードを取得し、それを使用して何らかの方法でキーを作成し、それを使用してデータを暗号化/復号化したいと考えています。
以下に投稿したおもちゃのコードの問題は、crypto_secretbox_open_easy() が verify_16.c 内から -1 を返すことです。このインターフェイスの使用方法や何が問題なのかを示すソースをどこで見つけることができるか、誰にもわかりませんか? ありがとう!
unsigned char * cipher;
unsigned char * decoded;
unsigned char * message;
unsigned long long message_len = 32;
size_t noncelen = sizeof(char) * crypto_secretbox_noncebytes();
size_t keylen = sizeof(char) * crypto_secretbox_keybytes();
unsigned char * nonce = calloc(noncelen, noncelen);
unsigned char * key = calloc(keylen, keylen);
message = calloc(32*sizeof(char), sizeof(char) * 32);
cipher = calloc(32*sizeof(char), sizeof(char) * 32);
decoded = calloc(32*sizeof(char), sizeof(char) * 32);
crypto_secretbox_easy((unsigned char *)cipher, (const unsigned char *)message,
message_len, nonce, key);
crypto_secretbox_open_easy((unsigned char *)decoded, (const unsigned char *) cipher,
message_len, nonce, key);