2 q940607209 q940607209 于 2015.05.26 17:17 提问

软件加密存储如何实现

本人大一学生,刚刚学完C和C++的基本语法,图形化界面才刚刚开始学,现在程序设计作业我选了一个学生信息管理系统的题目,在如何存储方面有些不懂的想请教一下。
按我本来的打算是用txt文件储存学生信息,再在程序里用文件输入的函数读取到内存。现在打算增加给学生信息加密的功能,需要验证用户身份才能查看信息,但是不知道怎么实现这个加密。
能不能使用数据库?如果用数据库的话,具体要怎么实现呢,或者给一下相关资料的链接。

5个回答

crow6313077
crow6313077   2015.05.26 17:20
已采纳

加密可以看看OPenSSL提供的加密方法,开源的。
数据库可以用啊,如果有必要就用呗,学学SQL语句再选一个数据库,相关的资料百度吧,各种关于数据库博客挺多。

caozhy
caozhy   Ds   Rxr 2015.05.26 17:29

最简单的就是从键盘读取一个字符串作为密码,并且写入文件的最前面。
读取的时候从文件中首先读取这个字符串,和用户输入的比较,如果一致,再往下执行读取真正的数据。

edouardzyc
edouardzyc   2015.05.26 17:32

你不是用txt文件储存了吗 还需要数据库吗
加密有很多加密方式,要看你用什么DES? RSA?

monaso
monaso   2015.05.26 17:54

这个很简单的,你可以把用户名和密码保存到文件中,然后登陆的时候把用户和密码和文件中的相比较,文件中有这个用户才能登陆成功,也写一个注册函数,具体代码
如下:
int onRegister (void) {

USER userNew;

printf ("用户名:");

scanf ("%s", userNew.name);

printf ("密码:"); scanf ("%s", userNew.passwd);

int fd = open (USER_FILE, O_RDWR | O_CREAT, 0644); if (fd == -1) { perror ("open"); return -1; } USER userOld; ssize_t bytes; while ((bytes = read (fd, &userOld, sizeof (userOld))) > 0) if (! strcmp (userOld.name, userNew.name)) { printf ("用户名已存在,注册失败!\n"); close (fd); return 0; } if (bytes == -1) { perror ("read"); close (fd); return -1; } if (write (fd, &userNew, sizeof (userNew)) == -1) { perror ("write"); close (fd); return -1; } close (fd); printf ("注册成功!\n"); return 0; } int onRegister (void) { USER userNew; printf ("用户名:"); scanf ("%s", userNew.name); printf ("密码:"); scanf ("%s", userNew.passwd); int fd = open (USER_FILE, O_RDWR | O_CREAT, 0644); if (fd == -1) { perror ("open"); return -1; } USER userOld; ssize_t bytes; while ((bytes = read (fd, &userOld, sizeof (userOld))) > 0) if (! strcmp (userOld.name, userNew.name)) { printf ("用户名已存在,注册失败!\n"); close (fd); return 0; } if (bytes == -1) { perror ("read"); close (fd); return -1; } if (write (fd, &userNew, sizeof (userNew)) == -1) { perror ("write"); close (fd); return -1; } close (fd); printf ("注册成功!\n"); return 0; }
代码粘贴出来比较乱。你可以去这里下载:http://yunpan.cn/cwdNGqcg78wQm (提取码:81c9),这是我以前写的一个系统。

a1193561652
a1193561652   Rxr 2015.05.26 19:11

可以把用户的账户名和密码分别存入文件,要输入正确才能登陆并查看数据。

Csdn user default icon
上传中...
上传图片
插入图片