c语言程序设计 密码设置程序怎么编写
发布时间:2025-05-12 07:30:10 发布人:远客网络
一、c语言程序设计 密码设置程序怎么编写
int main(int argc,char*argv[])
const char user[]="wangpin";/*用户名自己可改动*/
const char password[]="wangpin@126";/*密码自己可改动*/
printf("Input error! Usage:filename username password\n");
if(strcmp(argv[1],user)!= 0|| strcmp(argv[2],password)!= 0)
printf("Input error: Invalid username or password\n");
printf("Authentication Pass..\n");
sound(500);/*最简单的音乐声*/
先运行这个程序得到一个exe类型的可执行文件,然后可以复制到c盘根目录下,用桌面左下的图标进入:开始-程序-附件-命令提示符
------------------------------------------------------------------
------------------------------------------------------------------
下面是一个简单的音乐程序,你可以把它加到上面代替sound()到nosound()那一部分发出<<东方红>>音乐歌曲(小心!声音可能很大)
int fr[]={392,392,440,294,262,262,220,294,392,392,
440,532,440,392,262,262,220,294,392,294,
262,247,220,196,392,294,330,294,262,262,
220,294,330,294,262,294,262,247,220,196};
int tim[]={4,2,2,8,4,2,2,8,4,4,2,2,2,2,4,2,2,8,4,
4,4,2,2,4,4,4,2,2,4,2,2,2,2,2,2,2,2,2,2,12};
二、c 语言常用的加密算法——AES加密算法
在C语言中,加密算法是保护数据安全的关键工具,其中常用的算法包括AES、RSA、MD5、SHA-1以及Base64编码。以下内容将具体介绍这些算法在C语言中的实现方法。
AES加密算法是一种广泛应用的对称加密算法,适用于数据加密。在C语言中,可以借助openssl库实现AES加密功能。以下为一个简单的AES加密示例代码,展示了如何使用openssl库进行加密操作。
void encrypt(unsigned char*plaintext, int plaintext_len, unsigned char*key, unsigned char*iv, unsigned char*ciphertext){
AES_set_encrypt_key(key, 128,&aes_key);
int num_blocks= plaintext_len/ AES_BLOCK_SIZE;
unsigned char iv_copy[AES_BLOCK_SIZE];
memcpy(iv_copy, iv, AES_BLOCK_SIZE);
for(int i= 0; i< num_blocks; i++){
AES_cbc_encrypt(plaintext+(i* AES_BLOCK_SIZE), ciphertext+(i* AES_BLOCK_SIZE), AES_BLOCK_SIZE,&aes_key, iv_copy, AES_ENCRYPT);
memcpy(iv_copy, ciphertext+(i* AES_BLOCK_SIZE), AES_BLOCK_SIZE);
在示例中,加密密钥和初始向量均设置为16字节长度的字符串。待加密的数据为字符串形式,其长度通过`plaintext_len`传递给`encrypt`函数。加密结果存储在`ciphertext`数组中,其长度为原始数据的长度加上一个块大小(16字节)。加密后,输出加密数据的16进制格式。
RSA加密算法是一种非对称加密算法,具有加密与解密密钥不同的特点,是目前应用最为成熟的一种。在C语言中,同样可以使用openssl库实现RSA加密功能。
MD5算法作为广泛使用的加密散列函数,可以产生一个128位的散列值,适用于数字签名和验证、消息摘要等场景。在C语言中,通过 openssl库可以实现MD5加密。
SHA-1算法全称为Secure Hash Algorithm 1,是一种密码哈希函数,用于数字签名、验证和消息摘要等目的。在C语言中,同样借助openssl库实现SHA-1加密。
Base64编码虽然严格意义上不属于加密算法,但其能一定程度隐藏信息,常用于简单的“加密”操作。在C语言中,通过openssl库可以实现Base64编码和解码。
在C语言中,通过使用openssl这样的第三方库,可以高效地实现上述加密算法。这些库已经实现了各种算法的优化实现,方便开发者直接调用。
三、凯撒密码 c语言
这段代码实现的是凯撒密码加密功能,用C语言编写。程序功能是接受输入的字符串,直到遇到'@'符号为止。然后,将字符串中的大写字母和小写字母进行偏移,偏移量为33,形成加密效果。具体实现步骤如下:
1.使用字符数组a存储输入的字符串,遍历数组直到遇到'@'符号,记录字符个数到变量i。
3.将数组最后一个字符设置为空格。
4.从头开始遍历字符串,对大写字母和小写字母进行偏移,其中大写字母偏移后小于等于'Y'的,偏移后转换为对应小写字母,大写字母偏移后小于等于'Z'的,偏移后转换为对应大写字母。
5.使用for循环遍历加密后的字符串,输出加密后的字符。
这是一段简单的凯撒密码加密程序,通过修改偏移量,可以实现不同的加密效果。程序简单易懂,可以用于学习加密原理和实践C语言。