加密文本有人可以告诉我如何做到这一点?

时间:2013-01-30 14:04:43

标签: c++ visual-studio-2010

我编写了一个程序来读取和打印用户选择的文本文件。我现在希望程序加密文件中的文本,并且用户可以选择字母移位。有人可以告诉我该怎么做吗?以下是我到目前为止的情况:

#include <stdio.h>

int main(void) {
    FILE *file_in;
    char filename[20];
    char ch;
    int shift;
    // file_in is the name given to the stream. filename will be the file that the user chooses. ch is the characters in the file.


    printf("What file do you want to open?: ");
    gets(filename);
    file_in=fopen(filename, "r");
    //ask the user to enter the name of a file

    if(file_in==NULL)
        printf("Error! File did not open.\n");
    //print message if the file can not be found

    while((ch=fgetc(file_in)) != EOF) 
        putchar(ch);
        //prints the results on the screen and shows the end of the file
    fclose(file_in);
    //closes stream
}`enter code here`

1 个答案:

答案 0 :(得分:1)

对于一个简单的字母移位,将移位存储为char并将其读取,就像来自userinput的文件名一样。将putchar(ch);替换为putchar(ch+shift);进行加密,将ch-shift替换为解密或vv。如果总和大于ch+shift的最大值,则char将无声地溢出,从而保证每个字母ch只有一个“加密”对应。