Tag: 密码

如何为RSA / AES加密生成密码

我想通过套接字发送使用RSA加密的大数据。 我用openssl和c 。 由于RSA解密速度很慢,我首先使用通用和直接的方式使用AES加密数据,然后使用RSA加密使用的AES密码。 然后我通过套接字发送AES加密数据和RSA加密密码,并以相反的方式进行加密。 我使用AES进行AES加密: EVP_CIPHER_CTX en; unsigned char password[65]; int i, x = 0; unsigned char key[32], iv[32]; unsigned char *ciphertext; i = dataLength + AES_BLOCK_SIZE -1; ciphertext = (unsigned char *)malloc(i); EVP_CIPHER_CTX_init(&en); EVP_EncryptInit_ex(&en, EVP_aes_256_cbc(), NULL, key, iv); EVP_EncryptUpdate(&en, ciphertext, &i, (unsigned char*)data, dataLength); EVP_EncryptFinal_ex(&en, ciphertext+i, &x); 但是如何安全地创建key和iv ? 现在我使用以下function: EVP_BytesToKey(EVP_aes_256_cbc(), EVP_sha1(), salt, […]

如何使用Linux系统调用在C中更改用户密码?

我正在尝试编写一个C程序来使用Linux系统调用来更改用户密码。 我已经尝试使用/etc/passwd和/etc/shadow文件,但由于密码已加密,我遇到了问题,你可以帮我解决这个问题吗? void main(int argc,char ** argv){ uid_t uid; struct passwd *pw; uid = getuid(); if (argc > 1) pw = getpwnam(argv[1]); else pw = getpwuid(uid); //system(“passwd”); //printf(“%i”,execl(“/usr/bin/passwd”,”passwd”,pw->pw_name)); //here I tried to use execl but it returns error } 我使用系统(“passwd”),但我不认为我的老师会接受。 在其余部分,我只是想了解getpw ……的东西,这并不重要。

如何在c中屏蔽密码?

在C中,我想显示用户输入的每个字符*(例如,请输入您的密码:*****) 我在寻找,但无法找到解决方案。 我正在研究Ubuntu。 有人知道一个好方法吗?

C命令行密码输入

我想允许用户使用命令行界面输入密码。 但我不想在屏幕上显示此密码(或显示“****”)。 怎么用C做? 谢谢。 更新: 我只在Linux上工作。 所以我实际上并不关心Win或其他系统。 我试过卢卡斯的解决方案,它工作得很好。 但是,我还有另一个问题: 如果这是单个进程和单线程应用程序,更改termios的设置会影响不同的终端吗? 1个进程怎么样 – multithreading,多进程 – multithreading? 非常感谢。