鱼C论坛

 找回密码
 立即注册
查看: 1718|回复: 3

[已解决]如何用C语言实现文本文件加密技术?

[复制链接]
发表于 2021-1-22 17:28:55 | 显示全部楼层 |阅读模式
13鱼币
如图所示,请问一下对于这个程序,要实现打开文件输入密码,思路上是否需要在打开文件的同时,完成密码程序的激活?因为才自学到C语言文件,怎样实现密码的编程也还不太清楚麻烦各位大佬给个大体的思路,谢谢
最佳答案
2021-1-22 17:28:56
加密与解密
#include <stdio.h>
#define len 26
int main()

{
        int i;
        long int a[len] ={'c',' ','l','a','n','g','u','a','g','e',' ','p','r','o','g','r','a','m','e',' ','d','e','s','i','g','n'};
        for (i = 0;i < len;i++)
        {
                a[i] = a[i] * 8 + 8;            // 加密,密码为 *8,+8
        }
        printf("\n");
/*
        for (i = 0;i < len;i++)
        {
                printf("%d",a[i]);
        }
        printf("\n");
*/
    for (i = 0;i < len;i++)
        {
                a[i] = (a[i] - 8) / 8;          // 解密: -8,/8
        }

        for (i = 0;i < len;i++)
        {
                printf("%c",a[i]);
        }
        printf("\n");
        
}
QQ图片20210122172639.jpg

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-22 17:28:56 | 显示全部楼层    本楼为最佳答案   
加密与解密
#include <stdio.h>
#define len 26
int main()

{
        int i;
        long int a[len] ={'c',' ','l','a','n','g','u','a','g','e',' ','p','r','o','g','r','a','m','e',' ','d','e','s','i','g','n'};
        for (i = 0;i < len;i++)
        {
                a[i] = a[i] * 8 + 8;            // 加密,密码为 *8,+8
        }
        printf("\n");
/*
        for (i = 0;i < len;i++)
        {
                printf("%d",a[i]);
        }
        printf("\n");
*/
    for (i = 0;i < len;i++)
        {
                a[i] = (a[i] - 8) / 8;          // 解密: -8,/8
        }

        for (i = 0;i < len;i++)
        {
                printf("%c",a[i]);
        }
        printf("\n");
        
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-23 00:26:41 | 显示全部楼层
先输入密码,如果通过则打开文件,如果错误,则退出程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-23 09:47:44 | 显示全部楼层
#include<stdio.h>
int main()
{
        int i = 0, flag = 0;
        char mm[16], Omm[16] = "asK123Y456Pr789";
        printf("请输入15位密码:");
        scanf("%s", mm);
        while (Omm[i] != '\0')
        {
                if (Omm[i] != mm[i])
                {
                        flag = 1;
                        break;
                }
                else
                {
                        i++;
                }
        }
        if (flag == 0)
        {
                ;// 密码正确,程序进行正常的后续运行
        }
        else
        {
                printf("密码错误!下次再见");
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 08:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表