如何将红色区域数据调用解密函数直接打印到输出控制台(例如:crt控制台)
int main(int argc, char *argv[])
{
unsigned char data[PACKET_MAX_LEN];
int data_len = 0;
int socket_fd = -1; //char test_flag = 0;
struct sockaddr_in dout;
unsigned short i = 0;
char enc_buf[70] = {
0x00,0x00,0x2B,0x72,0x31,0x53,0xA6,0x78,0x1B,0xEB,0xFC,0xD0,0xB9, 0xC8,0x82,0x27,0x09,0xC5,0x4E,0x7F,0xA4,0x07,0xA6,0x78,0x1B,0xEB, 0xFC,0xD0,0xB9,0xC8,0x82,0x27,0x09,0xC5,0x4E,0x7F,0xA4,0x07,0x74, 0x8F,0xC5,0x6F,0xBE,0x08,0x36,0x80,0x6F,0x79,0x81,0x32,0x97,0x38, 0x3D,0x6F,0x0A,0x9C,0xDD,0x96,0x2C,0x20,0x43,0x7D,0x0C,0x5D,0x4C,
0xA8,0x72,0xE6,0xBD,0x12};
char enc_buf1[64];
server_decrypt(enc_buf,enc_buf1,65);
for (i = 0; i < 64; i++) //test
printf("%02x ", enc_buf1[i]);
// unsigned char sent_data[PACKET_MAX_LEN];
//int j;
#if 0 unsigned short xxx; unsigned char zzz[74] = {
0x30, 0x6b, 0x00, 0xa8, 0x01, 0x00, 0x6c, 0x23, 0x31, 0x00, 0x30,
0x30, 0x31, 0x32, 0x33, 0x34, 0x2c, 0x10, 0x00, 0x00, 0x05, 0x80,
0xd9, 0x00};
xxx = calc_crc(zzz, 22);
printf("crc %04x\n", xxx);
#endif /* Initialize sent_apdu_function pointer */
//init_handler();
/* TCP socket server setup */
tcp_set_port(htons(0x1A85));//6789
printf("set udp port is 6789!\n");
printf ("this is first one\n");
if (tcp_init()) printf("udp server socket opened!\n");
int_packet();
while (1) {
/* Initialize test board */
//init_test_handler();
/* TCP process */
socket_fd = tcp_get_socket();
#if 0 decode_apdu_handler(socket_fd, zzz, 74, dout);
return 1;
#endif
#if 0
data_len = 32;
printf("------------------start---------------------\n");
if (decrypt(data, handle_data, data_len) == 0) {
printf("decrypt len = %d\n", data_len);
printf("unsigned char decrypt_data = {\n");
for (j = 0; j < data_len; j++) {
if (j != data_len - 1)
printf("0x%02x, ", handle_data[j]);
else
printf("0x%02x};\n", handle_data[j]);
}
} else
printf("decrypt error!!!\n");
for (j = 0; j < 13; j++) {
sent_data[j] = j;
}
apdu_sent(socket_fd, sent_data, 13, dout);
printf("--------------------------------------------\n");
return 1;
#endif
data_len = tcp_receive(socket_fd, data, PACKET_MAX_LEN, 10, &dout);
if (data_len > 0) {
printf("RX: ");
for (i = 0; i < data_len; i++) //test
printf("%02x ", data[i]);
printf("\n");
decode_apdu_handler(socket_fd, data, data_len, dout);
//apdu_sent(socket_fd, handle_data, data_len, dout);
data_len = 0;
}
usleep(20000);/* 20ms */
}
return 0;
}
/** * @} */
/******************* (C) COPYRIGHT 2012 THIT *****END OF FILE****/
如何将红色区域数据调用解密函数直接打印到输出控制台(例如:crt控制台)的更多相关文章
- 如何动态调用 C 函数
JSPatch 支持了动态调用 C 函数,无需在编译前桥接每个要调用的 C 函数,只需要在 JS 里调用前声明下这个函数,就可以直接调用: require('JPEngine').addExtensi ...
- Aspx Ajax 调用 C#函数处理数据
jquery ajax 调用后台函数 var res; $.ajax({ type: "POST", url: "fast_index_overview.aspx/Get ...
- C语言:将字符串中的字符逆序输出,但不改变字符串中的内容。-在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
//将字符串中的字符逆序输出,但不改变字符串中的内容. #include <stdio.h> /************found************/ void fun (char ...
- C语言:判断字符串是否为回文,-函数fun将单向链表结点数据域为偶数的值累加起来。-用函数指针指向要调用的函数,并进行调用。
//函数fun功能:用函数指针指向要调用的函数,并进行调用. #include <stdio.h> double f1(double x) { return x*x; } double f ...
- 个人永久性免费-Excel催化剂功能第62波-单元格区域内数据加解密处理,最有效地保护数据方式
Excel的数据保护能力有限,诸如之前提及过的工作表保护.工作薄保护等,都是十分微弱的保护措施,而对于强保护的工作薄打开密码来说,它像是个总开关一样,要么全不能看,要么就全看到.有这样的场景需求,一份 ...
- ASP.NET Core 6框架揭秘实例演示[19]:数据加解密与哈希
数据保护(Data Protection)框架旨在解决数据在传输与持久化存储过程中的一致性(Integrity)和机密性(confidentiality)问题,前者用于检验接收到的数据是否经过篡改,后 ...
- 在VBA中调用excel函数
以前不太会用VBA时,都是在excel中使用函数来计算一些数据.毕竟函数不如代码,效率比较低.所以,就学着怎么在VBA中引用Excel函数.平时我用得比较多的函数就是countif和sumif函数.1 ...
- LR常用函数以及调用自定义函数
2.LR常用函数以及调用自定义函数 2.1.LR常用函数以及对信息的判断 2.1.1. LR内部自定义函数 在LR脚本中定义变量和编写自定义函数,需将变量的声明放在脚本其他内容的上方,否则会提示[il ...
- JSONP跨域数据调用
引自:http://kb.cnblogs.com/page/139725/ Web页面上调用js文件时则不受是否跨域的影响(不仅如此,我们还发现凡是拥有”src”这个属性的标签都拥有跨域的能力,比如& ...
随机推荐
- 1、NASA Super Cloud Library(SCL)
Empowering Data Management, Diagnosis, and Visualization of Cloud-Resolving Models (CRM) by Cloud Li ...
- fw: webdriver 那些坑
http://www.cnblogs.com/huang0925/p/3384596.html 使用WebDriver遇到的那些坑 在做web项目的自动化端到端测试时主要使用的是Selenium ...
- 用 javascript 脚本,网站判读来访者是手机还是电脑
<script> var system ={}; var p = navigator.platform; system.win = p.indexOf("Win") = ...
- 交换机做Channel-Group
core1#conf tEnter configuration commands, one per line. End with CNTL/Z.core1(config)#inter range g ...
- GCC的gcc和g++区别
看的Linux公社的一篇文章,觉得不错,内容复制过来了. 其实在这之前,我一直以为gcc和g++是一个东西,只是有两个不同的名字而已,今天在linux下编译一个c代码时出现了错误才找了一下gcc和g+ ...
- iOS开发 GET、POST请求方法(NSURLSession篇)
NSURLConnection,在iOS9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: [iOS开发 GET.POST请求方法(NSURLConnectio ...
- ffmpeg relocation error
在向imx6移植ffmpeg后,一般的编解码操作没有问题,但是当从摄像头录视频时, ffmpeg -f video4linux2 -s 640*480 -r 10 -i /dev/video0 tes ...
- SpringBoot的基础Pom
原文连接 http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ 名称 说明 spring-boot-starter 核心 POM,包含 ...
- NHibernate系列文章目录
第一章:NHibernate基础 NHibernate介绍 第一个NHibernate工程 简单的增删改查询 运行时监控 NHibernate配置 数据类型映射 Get/Load方法 NHiberna ...
- selenium3.0.1调用firefox
报错信息如下时: selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to b ...