RSA算法 :首先, 找出三個(gè)數(shù), p, q, r, 其中 p, q 是兩個(gè)相異的質(zhì)數(shù), r 是與 (p-1)(q-1) 互質(zhì)的數(shù)...... p, q, r 這三個(gè)數(shù)便是 person_key,接著, 找出 m, 使得 r^m == 1 mod (p-1)(q-1)..... 這個(gè) m 一定存在, 因?yàn)?r 與 (p-1)(q-1) 互質(zhì), 用輾轉(zhuǎn)相除法就可以得到了..... 再來, 計(jì)算 n = pq....... m, n 這兩個(gè)數(shù)便是 public_key ,編碼過程是, 若資料為 a, 將其看成是一個(gè)大整數(shù), 假設(shè) a < n.... 如果 a >= n 的話, 就將 a 表成 s 進(jìn)位 (s
基于事件驅(qū)動(dòng)的串口通訊控件
消息幀數(shù)據(jù)格式:
1 0 A B X X
其中 10 為消息標(biāo)識(shí),
AB表示文本長度,L=A*100+B
XX為配位字符,任意
控制幀數(shù)據(jù)格式
0 1 A B M N
其中 01為控制標(biāo)識(shí),
AB為請(qǐng)求標(biāo)識(shí)
MN為附加標(biāo)識(shí)
11表示請(qǐng)求對(duì)方接收文件,M表示描述字串中文件名子串的長度
N表示描述字串中文件大小子串的長度
10通知對(duì)方放棄傳輸
00通知文件傳輸完畢
01請(qǐng)求對(duì)方發(fā)送數(shù)據(jù), MN為10請(qǐng)求發(fā)送下一個(gè)
MN為00請(qǐng)求重發(fā)
數(shù)據(jù)幀數(shù)據(jù)格式
0 0 A B M N
其中 00 為數(shù)據(jù)標(biāo)識(shí),
AB表示數(shù)據(jù)長度,L=A*100+B
MN為校驗(yàn),M*100+N=A+B