最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2013年03月07日 10:39:21   作者:  
隨機(jī)數(shù)加密的簡(jiǎn)單算法,需要的朋友可以參考一下
復(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++簡(jiǎn)明分析inline函數(shù)的使用

    C++簡(jiǎn)明分析inline函數(shù)的使用

    inline是C++關(guān)鍵字,在函數(shù)聲明或定義中,函數(shù)返回類型前加上關(guān)鍵字inline,即可以把函數(shù)指定為內(nèi)聯(lián)函數(shù)。這樣可以解決一些頻繁調(diào)用的函數(shù)大量消耗??臻g(棧內(nèi)存)的問題
    2022-07-07
  • C語言動(dòng)態(tài)數(shù)組詳解

    C語言動(dòng)態(tài)數(shù)組詳解

    本文給大家分享的是一則使用C語言實(shí)現(xiàn)動(dòng)態(tài)數(shù)組的代碼,完美解決內(nèi)存溢出以及內(nèi)存回收問題,有需要的小伙伴可以參考下
    2021-09-09
  • Opencv下載和導(dǎo)入Visual studio2022的實(shí)現(xiàn)步驟

    Opencv下載和導(dǎo)入Visual studio2022的實(shí)現(xiàn)步驟

    本文主要介紹了Opencv下載和導(dǎo)入Visual studio2022的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 詳解C語言中的wait()函數(shù)和waitpid()函數(shù)

    詳解C語言中的wait()函數(shù)和waitpid()函數(shù)

    這篇文章主要介紹了C語言中的wait()函數(shù)和waitpid()函數(shù),注意其在中斷進(jìn)程方面用法的不同,需要的朋友可以參考下
    2015-08-08
  • C語言中設(shè)置用戶識(shí)別碼的相關(guān)函數(shù)的簡(jiǎn)單講解

    C語言中設(shè)置用戶識(shí)別碼的相關(guān)函數(shù)的簡(jiǎn)單講解

    這篇文章主要介紹了C語言中設(shè)置用戶識(shí)別碼的相關(guān)函數(shù)的簡(jiǎn)單講解,包括setuid()函數(shù)和setreuid()函數(shù)以及setfsuid()函數(shù),需要的朋友可以參考下
    2015-08-08
  • C++如何用數(shù)組模擬鏈表

    C++如何用數(shù)組模擬鏈表

    大家好,本篇文章主要講的是C++如何用數(shù)組模擬鏈表,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • C++模板的特化超詳細(xì)精講

    C++模板的特化超詳細(xì)精講

    最近我學(xué)習(xí)了C++中的模板相關(guān)知識(shí),模板是泛型編程的基礎(chǔ),十分重要。所以特意整理出來一篇文章供我們一起復(fù)習(xí)和學(xué)習(xí)
    2022-08-08
  • C語言繪制余弦、正弦曲線

    C語言繪制余弦、正弦曲線

    這篇文章主要為大家詳細(xì)介紹了C語言繪制余弦、正弦曲線的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Qt 鼠標(biāo)/觸屏繪制平滑曲線(支持矢量/非矢量方式)

    Qt 鼠標(biāo)/觸屏繪制平滑曲線(支持矢量/非矢量方式)

    這篇文章主要介紹了Qt 鼠標(biāo)/觸屏繪制平滑曲線(支持矢量/非矢量方式),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • C++ 實(shí)現(xiàn)優(yōu)先隊(duì)列的簡(jiǎn)單實(shí)例

    C++ 實(shí)現(xiàn)優(yōu)先隊(duì)列的簡(jiǎn)單實(shí)例

    這篇文章主要介紹了C++ 實(shí)現(xiàn)優(yōu)先隊(duì)列的簡(jiǎn)單實(shí)例的相關(guān)資料,希望通過本文能幫助大家實(shí)現(xiàn)優(yōu)先隊(duì)列,需要的朋友可以參考下
    2017-08-08

最新評(píng)論

通州市| 玛多县| 安阳县| 溧水县| 宕昌县| 行唐县| 策勒县| 客服| 崇礼县| 凌海市| 正宁县| 乐山市| 安溪县| 嘉定区| 安岳县| 土默特右旗| 从化市| 化德县| 正宁县| 洱源县| 绍兴县| 乌什县| 光泽县| 株洲县| 正安县| 九龙城区| 文化| 鱼台县| 芒康县| 延寿县| 巴东县| 平远县| 双牌县| 巫山县| 屏山县| 商洛市| 林芝县| 舒兰市| 黄大仙区| 德惠市| 蒲城县|