des_main.c

来自「DES/3DES算法的C语言实现」· C语言 代码 · 共 45 行

C
45
字号

#include "stdio.h"
#include "des.h"
#include "pub.h"

void main()
{
	unsigned char key1[] = "12345678";
	unsigned char key2[] = "abcdefgh";
	unsigned char key3[] = "~!@#$%^&";	//如果只需要两组密钥,则本组密钥可以和密钥1一样。
	unsigned char en_data[] = "龙的子孙";
	unsigned char en_out_put[8];

	printf("\r\n++++++++3DES 加密示例++++++++");

	print_hex("3DES [输入]明文 ", en_data, 8);
	print_hex("3DES [输入]密钥1", key1, 8);
	print_hex("3DES [输入]密钥2", key2, 8);
	print_hex("3DES [输入]密钥3", key3, 8);

	//3DES 加密
	des(en_data, key1, en_out_put, DES_ENCRYPT);
	des(en_out_put, key2, en_data, DES_DECRYPT);
	des(en_data, key3, en_out_put, DES_ENCRYPT);

	print_hex("3DES [输出]密文 ", en_out_put, 8);

	printf("\r\n");
	printf("\r\n++++++++3DES 解密示例++++++++");

	print_hex("3DES [输入]密文 ", en_out_put, 8);
	print_hex("3DES [输入]密钥1", key1, 8);
	print_hex("3DES [输入]密钥2", key2, 8);
	print_hex("3DES [输入]密钥3", key3, 8);
	//3DES 加密
	des(en_out_put, key3, en_data, DES_DECRYPT);
	des(en_data, key2, en_out_put, DES_ENCRYPT);
	des(en_out_put, key1, en_data, DES_DECRYPT);

	print_hex("3DES [输出]明文 ", en_data, 8);

	printf("\r\n");
	
	return;
}

⌨️ 快捷键说明

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