⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 3 Examples of basic Crytprography and BruteForce approcaces
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "utilities.h"

char * vigenere(char *key, char *text, int codingMode);

int main(){
 char *key = "ABC" , *text , *c;
 char file[] = {"test.txt"};




    // Datei 謋fnen

    text = getText(file);

    printf("Eingabe: %s\n",text);

    c = vigenere(key,text,0);
    printf("Codiert: %s\n",c);

    c = vigenere(key,c,1);
    printf("Decodiert: %s\n",c);

    if(c != NULL)
    {
    free (c);
    c = NULL;
    }


    return 0;
}


char * vigenere(char *key, char *text, int codingMode){
    int sizeOfP = strlen(text), i = 0 , i2 = 0, sizeOfK = strlen(key);
    char *c , *k;


    k = (char*) malloc(sizeof(char)*sizeOfK);
      if(k == NULL){
                printf("Zu wenig Speicherplatz!\n");
                return(1);
            }

    strcpy(k, key);

    for( i2 = 0; i2<sizeOfK ; i2++)
        k[i2] -= 'A';


    c = (char*) malloc(sizeof(char)*sizeOfP);
      if(c == NULL){
                printf("Zu wenig Speicherplatz!\n");
                return(1);
            }



    switch (codingMode) {

        case (0): {
                i2 = 0;
                i = 0;

                while( i < sizeOfP ){
                    c[i] = text[i]+k[i2];

                    if (c[i] > 'Z')
                        c[i] -= 26;

                    i++;
                    ( (i2++) > (sizeOfK-1) ) ? i2 = 0 : i2;
                }

        break; // Ende Case 0 (Decode)
        }

        case (1) : {
                i2 = 0;
                i = 0;

                while( i < sizeOfP ){

                    c[i] = (text[i] - k[i2]) ;

                    if (c[i] < 'A')
                        c[i] += 26;

                    i++;
                    ( (i2++) > (sizeOfK-1) ) ? i2 = 0 : i2 ;
                }

            break; // Ende Case 1 (Encode)
        }

       // End Switch
    }

        c[i] = '\0';

    return c;
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -