如何给随机数加密

福州吧壹母FR9

福州吧壹母FR9

2016-02-19 10:59

今天图老师小编给大家展示的是如何给随机数加密,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!
代码如下:

// 随机数加密算法  A^B = C , A^C =B , B^C = A 异或加密
 // Etual  2011-3-14

 #include stdio.h

 // 7byte 数据 和 1byte key
 unsigned char code_buf[8] = {0x12,0x13,0x14,0x15,0x21,0x22,0x23,0x00};

 void print_buf(void)
 {
     int i;
     for (i=0;i8;i++)
     {
         printf("%x,",code_buf[i]);
     }
     printf("n");
 }

 int main(void)
 {
     unsigned char key,new_key;
     unsigned char rand_digi;
     int i;

     printf("original buf is!n");
     print_buf();

     // key 是一个私钥,两个通讯之间各自拥有 (加密解密都需要)
     key = 0x55;
     // rand_digi 是一个随机数
     rand_digi = 0xe3;  // 可以是时间戳
     // 用私钥对随机数加密得到密文作为新的key使用
     new_key = key ^ rand_digi;

     // 用这个新的key对数据进行加密 加密过程
     for (i=0;i7;i++)
     {
         code_buf[i] ^= new_key;
     }
     // 这个key伴随着数据一起传送出去
     code_buf[7] = new_key;

     printf("encrypted buf is!n");
     print_buf();

 
 //解密过程
     // 假设接收端正确接收到这个已经加密了的8字节数据
     printf("now decode:n");
     // 因为最后一个字节是key,用这个对前面的数据进行解密
     for (i=0;i7;i++)
     {
         code_buf[i] ^= code_buf[7];
     }
     // 最后一个本身也是加密了的,用私钥进行还原可以得到随机数
     code_buf[7] ^= key;

     print_buf();

     return 0;
 }
展开更多 49%)
分享
qqQQ
qzoneQQ空间
weibo微博

猜你喜欢

如何给随机数加密

编程语言 网络编程
如何给随机数加密

Oracle 随机数

编程语言 网络编程
Oracle 随机数

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

随机数算法

编程语言 网络编程
随机数算法

Javascript随机数教程

Web开发
Javascript随机数教程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用ASP随机产生随机数

ASP
用ASP随机产生随机数

Javascript教程:随机数

Web开发
Javascript教程:随机数

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

JScript重载的另类实现

JScript重载的另类实现

xWin之JS版(2-26更新)

xWin之JS版(2-26更新)
下拉加载更多内容 ↓