keil TEA
http://bbs.mydigit.cn/read.php?tid=545086
#include "reg52.h" void send_char(unsigned char txd);void printuf(char *str, unsigned char cb) ; void encrypt(unsigned long *v1, unsigned long *v2, unsigned long *k); /*tea加密函数定义*/ void decrypt(unsigned long *v1, unsigned long *v2, unsigned long *k); /*tea解密函数定义*/ unsigned long *key = (unsigned long *)"1234567890abcde\0"; /*常量密钥*/ unsigned ]; unsigned char i; void InitUART(void) { TMOD = 0x20; SCON = 0x50; TH1 = 0xFD; TL1 = TH1; PCON = 0x00; EA = ; ES = ; TR1 = ; } void main() { unsigned long *y1,*y2; tea[]=0x31; tea[]=0x32; tea[]=0x33; tea[]=0x34; tea[]=0x35; tea[]=0x36; tea[]=0x37; tea[]=0x38; InitUART(); ; i < ; i++) send_char(tea); send_char(); y1=(unsigned ]; y2=(unsigned ]; encrypt (y1,y2,key) ; ; i < ; i++) printuf("%x ",tea); send_char(); y1=(unsigned ]; y2=(unsigned ]; decrypt(y1,y2,key); ; i < ; i++) send_char(tea); send_char(); ) ; } void encrypt(unsigned long *v1, unsigned long *v2,unsigned long *k) { unsigned , i; unsigned long delta=0x9e3779b9; unsigned ], b=k[], c=k[], d=k[]; ; i < ; i++) { sum += delta; y += ((z<<) + a) ^ (z + sum) ^ ((z>>) + b); z += ((y<<) + c) ^ (y + sum) ^ ((y>>) + d); } *v1=y; *v2=z; } void decrypt(unsigned long *v1,unsigned long *v2, unsigned long *k) { unsigned long y=*v1, z=*v2, sum=0xC6EF3720, i; unsigned long delta=0x9e3779b9; unsigned ], b=k[], c=k[], d=k[]; ; i<; i++) { z -= ((y<<) + c) ^ (y + sum) ^ ((y>>) + d); y -= ((z<<) + a) ^ (z + sum) ^ ((z>>) + b); sum -= delta; } *v1=y; *v2=z; } // 传送一个字符 void send_char(unsigned char txd) { SBUF = txd; while(!TI); // 等特数据传送 TI = ; // 清除数据传送标志 } // *str内容中遇到%x的内,就会从cb中的值转成十六进显示 开始 code ] = {', 'A', 'B', 'C', 'D', 'E', 'F'}; void printuf(char *str, unsigned char cb) //*str内容中遇到%x的内,就会从cb中的值转成十六进显示 { idata char *ct = str; idata char cx1; idata char cx2; while (*ct != '\0') { if (*ct == '%') { ) == 'x') { ct += ; cx1 = cb / ; cx2 = cb % ; send_char (hex[cx1]); send_char(hex[cx2]); continue; } ) == 'c') { ct += ; send_char(cb); continue; } } if (*ct == '\n') { send_char(); } send_char(*ct); ct++; } } // *str内容中遇到%x的内,就会从cb中的值转成十六进显示 结束
keil TEA的更多相关文章
- TEA encryption with 128bit key
If anyone needs some basic encryption in software, here's one solution. This TEA implementation fits ...
- [转]keil使用详解
第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过 ...
- 安装keil MDK5
昨天买的stm32板子今天就到了,顺丰速度确实很快. 我这是刚开始整STM32,首先需要下载keil MDK,直接杀去keil官网下载,其实对于学习者,我建议大家下载软件能去官网就去官网,尽量少用二道 ...
- 使用powershell批量添加Keil和IAR的头文件路径
在Keil和IAR的工程中,为了使文件结构清晰,通常会设置很多的子文件夹,然后将头文件和源文件放在不同的子文件夹中,这样就需要手动添加这些头文件夹的路径.当工程结构非常复杂时,文件夹的数量就非常多,特 ...
- MDK for ARM (keil) 编译后的信息
文章转自http://blog.csdn.net/gasbi/article/details/6186312 当我们使用Keil对我们的代码进行编译之后,下方Build Output窗口会出现:Pro ...
- Keil环境中建立带FreeRTOS的STM32L项目
本文是网上转载,版权所有. Keil环境中建立带FreeRTOS的STM32L项目 1.先把source文件夹复制至project目录,然后在keil中添加RTOS文件,如图: 其中heap_2.c按 ...
- KEIL中启动文件详解(汇编语言)
原文在此:http://www.cnblogs.com/mddblog/p/4920063.html 概述 在嵌入式系统中,启动文件是整个系统非常关键的部分,它会进行一些底层的初始化,构建程序运行必要 ...
- ARM 开发工具 Keil和DS-5的比较。
http://www.eeboard.com/bbs/thread-25219-1-1.html 如今ARM体系架构的处理器在嵌入式市场上呼风唤雨,从低端的MCU应用到高端的多媒体消费电子,移动设备领 ...
- 新手入门 keil MDK5 建立STM32工程
keil uvison 是用来开发 单片机的,Keil mdk 是用来开发 ARM 的. 芯片型号是:STM32F103RB6 1,新建工程 配置属性 晶振为8M 根据实际晶振选择 生成 HEX 文件 ...
随机推荐
- Quartz.net Cron表达式
由7段构成:秒 分 时 日 月 星期 年(可选)"-" :表示范围 MON-WED表示星期一到星期三"," :表示列举 MON,WEB表示星期一和星期三&qu ...
- 操作系统对的IIS版本
IIS版本 Windows版本 备注 IIS 1.0 Windows NT 3.51 Service Pack 3 IIS 2.0 Windows NT 4.0 IIS 3.0 Windows ...
- HDU4532(组合DP)
题目:安排座位 解析:http://www.douban.com/note/269136472/ #include <iostream> #include <string.h> ...
- 初探JS正则表达式
1.概述 正则表达式是一个描述字符模式的对象.Javascript的正则表达式语法的是Perl5的正则表达式的子集.JS正则表达式有两种使用方式,文本模式和RegExp对象模式,实例如下: v ...
- SPRING+JNDI+C3P0 in tomcat6
Tomcat 中Jndi是使用Tomcat自带的连接池,由于客户要求,抛弃Tomcat自带的连接池.使用c3p0 .经过几个小时调试,解决方案如下: 环境:Tomcat 6 下面来看Jndi 与 c3 ...
- 多校联赛2 Problem2 Warm up 求桥的数目+缩点后的树的直径 当时被不知道原因的爆栈爆到无语了。。
Warm up Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total S ...
- phpStudy + JspStudy 2014.10.02 下载
phpStudy + JspStudy 2014.10.02 下载 目标:让天下没有难配的php环境. phpStudy Linux版&Win版同步上线 支持Apache/Nginx/Teng ...
- Tomcat 内存与优化篇
Tomcat 内存与优化一.Tomcat 运行环境介绍 1.Tomcat 本身无法直接在计算机上运行,需要依赖硬件基础上的操作系统和Java虚拟机: 2.Java 程序启动时JVM都会分配一个初始内存 ...
- .Net Errors
1.Unknown column 'Extent1.Discriminator' in 'field list' Resole:http://blog.csdn.net/philip502/artic ...
- 表单元素-select
<form> <select size="2"> <option value="JMS HADEN">JMS HADEN&l ...