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

📄 test.cpp

📁 三重DES增加了密钥长度
💻 CPP
字号:


#include "des3.h"

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define PACKETLEN 8
#define KEYLEN 16
#define RAND_MAX 0x7fff

void main()
{
	//unsigned char pt[PACKETLEN+1];
	//unsigned char ct[PACKETLEN+1];

    unsigned char pt[1024];
    unsigned char ct[1024];

	unsigned char ppt[PACKETLEN+1];
	//unsigned char key[KEYLEN+1];
	unsigned char key[1024];

	int i = 0;
	//int in_len = PACKETLEN;
    int in_len;
	int key_len;

char *show = (char *)malloc(sizeof(char)*1024); 

	//pt[in_len] = '\0';
	time_t t;                 //这两行保证每次产生的随机数不同
    srand( (unsigned) time( &t ) ); 

/*
	for(i=0;i<in_len;i++)
		pt[i] = 97+rand()*26/RAND_MAX;

	for(i=0;i<KEYLEN;i++)
		key[i] = 97+rand()*26/RAND_MAX;
*/

printf("请输入需要加密的明文\n");
	for(i=0;i<1025;i++)
	{
		scanf("%c",pt+i);
		if(pt[i] == '\n')
		{
			pt[i]='\0';
			in_len = i-1;
			break;
		}
	}
printf("请输入加密密钥\n");
    for(i=0;i<1025;i++)
	{
		scanf("%c",key+i);
		if(key[i] == '\n')
		{
			key[i]='\0';
		    key_len = i-1;
			break;
		}
	}


	pt[in_len+1]=ct[in_len+1]=ppt[in_len+1]='\0';
	key[7]=key[15]='\0';


    printf("请输入回车键进行加密\n");
    scanf("%c",show);
	des3_ecb_encrypt(pt,ct,key,16);
	printf("密文:%s\n",ct);


	printf("请输入回车键进行解密\n");
    scanf("%c",show);
	des3_ecb_decrypt(ct,ppt,key,16);
	//ppt[in_len+1]='\0';
	printf("原文:%s\n",pt);
	printf("解密恢复原文:%s\n",pt);
}

⌨️ 快捷键说明

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