如何给随机数加密

福州吧壹母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;
 }
展开更多 50%)
分享

猜你喜欢

如何给随机数加密

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

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更新)
下拉加载更多内容 ↓