设为首页 加入收藏

TOP

C语言学习之联合体_枚举_IO实例(二)
2018-07-22 06:05:31 】 浏览:207
Tags:语言学 习之 联合体 枚举 _IO 实例
uot;D:\\files\\crpy_friends.txt"; char* decr_path = "D:\\files\\decr_friends.txt"; //加密 crpypt(src_path, crpy_path); //解密 decrpypt(crpy_path, decr_path); getchar(); }*/
//二进制文件加解密
//读取二进制文件中的数据时,一个一个字符读取
//密码:ilovely
void crpypt(char* normal_path, char* crypt_path, char* password){
 //打开文件
 FILE *normal_fp = fopen(normal_path, "rb");
 FILE *crypt_fp = fopen(crypt_path, "wb");
 //一次读取一个字符
 int ch;
 int i = 0; //循环使用密码中的字母进行异或运算
 int pwd_len = strlen(password); //密码的长度
 while ((ch = fgetc(normal_fp)) != EOF){ //End of File
  //写入(异或运算)
  fputc(ch ^ password[i % pwd_len], crypt_fp);
  i++;
 }
 //关闭
 fclose(crypt_fp);
 fclose(normal_fp);
}

//解密
void decrpypt(char* crypt_path, char* decrypt_path, char* password){
 //打开文件
 FILE *normal_fp = fopen(crypt_path, "rb");
 FILE *crypt_fp = fopen(decrypt_path, "wb");
 //一次读取一个字符
 int ch;
 int i = 0; //循环使用密码中的字母进行异或运算
 int pwd_len = strlen(password); //密码的长度
 while ((ch = fgetc(normal_fp)) != EOF){ //End of File
  //写入(异或运算)
  fputc(ch ^ password[i % pwd_len], crypt_fp);
  i++;
 }
 //关闭
 fclose(crypt_fp);
 fclose(normal_fp);

}
void main(){
 char* src_path = "D:\\files\\liuyan.png";
 char* crpy_path = "D:\\files\\crpy_liuyan.png";
 char* decr_path = "D:\\files\\decr_liuyan.png";
 //加密
 crpypt(src_path, crpy_path,"i love you");
 //解密
 decrpypt(crpy_path, decr_path,"i love you");
 getchar();
}



编程开发网
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言基础学习之基本数据类型_输.. 下一篇C语言学习之指针类型_空指针_二级..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }