欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何給隨機(jī)數(shù)加密

 更新時(shí)間:2013年03月07日 10:39:21   作者:  
隨機(jī)數(shù)加密的簡單算法,需要的朋友可以參考一下
復(fù)制代碼 代碼如下:

// 隨機(jī)數(shù)加密算法  A^B = C , A^C =B , B^C = A 異或加密
 // Etual  2011-3-14

 #include <stdio.h>

 // 7byte 數(shù)據(jù) 和 1byte key
 unsigned char code_buf[8] = {0x12,0x13,0x14,0x15,0x21,0x22,0x23,0x00};

 void print_buf(void)
 {
     int i;
     for (i=0;i<8;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 是一個(gè)私鑰,兩個(gè)通訊之間各自擁有 (加密解密都需要)
     key = 0x55;
     // rand_digi 是一個(gè)隨機(jī)數(shù)
     rand_digi = 0xe3;  // 可以是時(shí)間戳
     // 用私鑰對(duì)隨機(jī)數(shù)加密得到密文作為新的key使用
     new_key = key ^ rand_digi;

     // 用這個(gè)新的key對(duì)數(shù)據(jù)進(jìn)行加密 加密過程
     for (i=0;i<7;i++)
     {
         code_buf[i] ^= new_key;
     }
     // 這個(gè)key伴隨著數(shù)據(jù)一起傳送出去
     code_buf[7] = new_key;

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

 
 //解密過程
     // 假設(shè)接收端正確接收到這個(gè)已經(jīng)加密了的8字節(jié)數(shù)據(jù)
     printf("now decode:\n");
     // 因?yàn)樽詈笠粋€(gè)字節(jié)是key,用這個(gè)對(duì)前面的數(shù)據(jù)進(jìn)行解密
     for (i=0;i<7;i++)
     {
         code_buf[i] ^= code_buf[7];
     }
     // 最后一個(gè)本身也是加密了的,用私鑰進(jìn)行還原可以得到隨機(jī)數(shù)
     code_buf[7] ^= key;

     print_buf();

     return 0;
 }

相關(guān)文章

  • C語言實(shí)現(xiàn)三子棋小游戲全程詳解

    C語言實(shí)現(xiàn)三子棋小游戲全程詳解

    完成一個(gè)三子棋的代碼并不是很難,有困難且重要的是完成這個(gè)游戲代碼所具備的思想,因?yàn)樗枷肷系倪M(jìn)步才是真正的進(jìn)步,當(dāng)我們有了這個(gè)思想上的武器,寫出別的代碼,難度就不會(huì)高
    2022-05-05
  • C語言解線性方程的四種方法

    C語言解線性方程的四種方法

    這篇文章主要介紹了C語言解線性方程的四種方法,大家參考使用,學(xué)習(xí)線性代數(shù)的同學(xué)一定能用到
    2013-11-11
  • C++簡明圖解分析靜態(tài)成員與單例設(shè)計(jì)模式

    C++簡明圖解分析靜態(tài)成員與單例設(shè)計(jì)模式

    與靜態(tài)數(shù)據(jù)成員不同,靜態(tài)成員函數(shù)的作用不是為了對(duì)象之間的溝通,而是為了能處理靜態(tài)數(shù)據(jù)成員,靜態(tài)成員函數(shù)沒有this指針。既然它沒有指向某一對(duì)象,也就無法對(duì)一個(gè)對(duì)象中的非靜態(tài)成員進(jìn)行默認(rèn)訪問
    2022-06-06
  • C?C++?題解LeetCode1417重新格式化字符串

    C?C++?題解LeetCode1417重新格式化字符串

    這篇文章主要為大家介紹了C?C++?題解LeetCode1417重新格式化字符串,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • C語言實(shí)現(xiàn)3*3數(shù)組對(duì)角線之和示例

    C語言實(shí)現(xiàn)3*3數(shù)組對(duì)角線之和示例

    今天小編就為大家分享一篇C語言實(shí)現(xiàn)3*3數(shù)組對(duì)角線之和示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C語言各種符號(hào)的使用介紹下篇

    C語言各種符號(hào)的使用介紹下篇

    C?語言的基本符號(hào)就有?20?多個(gè),每個(gè)符號(hào)可能同時(shí)具有多重含義,而且這些符號(hào)之間相互組合又使得?C?語言中的符號(hào)變得更加復(fù)雜起來
    2022-08-08
  • 使用QPainter畫一個(gè)3D正方體

    使用QPainter畫一個(gè)3D正方體

    這篇文章主要為大家詳細(xì)介紹了使用QPainter畫一個(gè)3D正方體,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • C++實(shí)現(xiàn)日期類(Date)

    C++實(shí)現(xiàn)日期類(Date)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)日期類的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Qt讀寫ini文件之QSettings用法

    Qt讀寫ini文件之QSettings用法

    這篇文章主要為大家介紹了Qt讀寫ini文件之QSettings的使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • C++中new和delete匹配使用過程詳解

    C++中new和delete匹配使用過程詳解

    關(guān)于 new 和 delete 的使用相信大家并不陌生,可是為什么使用 new 的時(shí)候要用 delete,使用 new[] 的時(shí)候又要用 delete[]呢?本文就來和大家詳細(xì)說說
    2023-02-02

最新評(píng)論