C语言实现异或加密的密码本

本文介绍了如何使用C语言创建一个异或加密的密码本,包括简单版的二维数组实现和升级版的结构体及动态内存分配方法,涉及文件读写和指针操作。
摘要由CSDN通过智能技术生成

 

1. 简单版:涉及到二维数组、文件读写操作

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 300		//最大多少条记录
#define CHM 100		//每条记录最大多少字节


int gCount=0;	//总共多少条记录
char cWeb[MAX][CHM];	//website
char cUser[MAX][CHM];	//username
char cPwd[MAX][CHM];	//password
char cNote[MAX][CHM];	//note

//功能:增删改查显示所有;加密写入文件;打开密码本也需要输入密码
//文件操作的关键点在于
//凡事涉及到对文件进行操作的功能
//一律都在内存中进行
//包括增删改
//操作之前先将文件中的东西初始化到内存,
//操作完之后再将内存中的东西写入文件
//直接覆盖原来文件中的内容

//采用异或加密,每个字符都异或5
//初始化,将文件中的内容读出到内存并解密
void InitP()
{
	FILE *pFile = nullptr;

	//1.打开
	if (fopen_s(&pFile, "pwd.txt", "ab+"))	//rb+既能读也能写,用w会被覆盖,用r不能从0开始加
		printf("失败\n");
	//读取并解密
	fseek(pFile, 0, SEEK_END);
	int n = ftell(pFile);    //文件中一共多少字节
	gCount = n / 400;
	fseek(pFile, 0, SEEK_SET);
	for (int i = 0; i < gCount; i++)
	{
		fread(cWeb[i], CHM, 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值