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

📄 main.cpp

📁 快速的对称密码DES算法的快速实现
💻 CPP
字号:
# include <stdio.h>
# include <time.h>
# include "des.h"

/*#include <cstring>
#include <iostream>
using namespace std;*/

int main(int argc, char* argv[])
{
	//string strKey;

	/*Byte key[8];
	scanf("%s",key);

	for (int i = 0; i < 8; i++)
	{
		printf("%c",key[i]);
	}*/

	Byte key[8] = {'1', '2', '3', '4','1', '2', '3', '4'};
	Word32 subkeys[16][2];
	Byte input[8] = {'1', '2', '3', '4','1', '2', '3', '4'};
	Byte output[8];
	Byte output2[8];

	printf("请输入明文:\n");
	scanf("%s", input);
	printf("请输入加密密钥key:\n");
	scanf("%s", key);

    desE_subkeys_gen(key, subkeys);
	des_encrypt(subkeys, input, output);
    
	/*clock_t start, end;
	start = clock();
	for(int m = 0; m < 1000000; m++)
	{		
		des_encrypt(subkeys, input, output);
	}
	end = clock();
	int speed = 64000/(end - start);
	printf("des encryption 1 秒 是 %d Mbps\n",speed);*/

	printf("加密得密文:\n");
	for (int i = 0; i < 8; i++)
		printf("%c", output[i]);
	printf("\n");

	printf("请输入解密密钥key:\n");
	scanf("%s", key);
	desD_subkeys_gen(key, subkeys);
	des_decrypt(subkeys, output, output2);

	printf("解密后得明文:\n");
	for (int i = 0; i < 8; i++)
		printf("%c", output2[i]);
	printf("\n");

	//while(1);
	getchar();
	return 0;
}

⌨️ 快捷键说明

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