【发布时间】:2021-11-24 20:26:48
【问题描述】:
char *inputtxt;
void encrypt()
{
inputtxt = gtk_entry_get_text (GTK_ENTRY (input_));
unsigned char key[AES_SIZE+1] = { "YELLOW SUBMARINE" };
memcpy(inputtxt,"gg",32);
memcpy(key, "HERE IS MY KEY!!", 16);
unsigned char iv[AES_SIZE+1] = { "HERE IS MY IV!!!" };
aes_cbc_encrypt(inputtxt, key, 32, iv);
gtk_label_set_text(GTK_LABEL(outputk_), inputtxt);
我似乎根本无法让它工作,我在“inputtxt = gtk_entry_get_text (GTK_ENTRY (input_));
【问题讨论】:
-
建议阅读gtk_entry_get_text manual:"返回: const gchar * 一个指向widget内容的字符串指针。这个字符串指向widget内部分配的存储空间,不能是释放、修改或存储。”。也就是说,真正的问题是您试图修改
inputtxt,这是明确不允许的。 -
永远不要重复使用
iv。 -
如果我不能修改 inputtxt 我将如何进一步处理我的代码