国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

如何加密隨機數

2020-02-24 14:35:08
字體:
來源:轉載
供稿:網友
如何加密隨機數?下文武林小編將給小伙伴們帶來隨機數加密的簡單算法,需要的朋友可以參考借鑒,下面來一起看看吧。

// 隨機數加密算法? A^B = C , A^C =B , B^C = A 異或加密
?// Etual? 2011-3-14

?#include

?// 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;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;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;i???? {
???????? code_buf[i] ^= code_buf[7];
???? }
???? // 最后一個本身也是加密了的,用私鑰進行還原可以得到隨機數
???? code_buf[7] ^= key;

???? print_buf();

???? return 0;
?}
以上就是小編分享的如何加密隨機數的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 武邑县| 法库县| 格尔木市| 于都县| 蕲春县| 泽州县| 华亭县| 泰州市| 花莲县| 沁源县| 龙州县| 新津县| 镇巴县| 丁青县| 新余市| 绍兴市| 洛南县| 尼勒克县| 炉霍县| 宁乡县| 崇明县| 湄潭县| 双鸭山市| 安宁市| 叶城县| 枣庄市| 台北县| 望都县| 喀什市| 蕲春县| 宁城县| 常熟市| 汕头市| 岳池县| 南乐县| 长武县| 阿拉尔市| 垫江县| 博白县| 岗巴县| 和硕县|