|
|
前久寫《不用中間數(shù)交換兩個變量的方法》反響不錯,其中用到了異或運算。今天看《通信原理》書,提了數(shù)字信息可以很方便地進行加密與解密運算,用到了異或。
隨手寫了個實例玩玩:
unsigned int aa=3456;
void main( void )
{
unsigned int pwd=5438;
aa ^= pwd; //加密
aa ^= pwd; //解密
}
沒有用函數(shù)、指針傳遞參數(shù)形式來寫,更顯的簡單,就兩行語句。
定理:一個數(shù)與另一個數(shù)做兩次異或運算后得到原值,或者說恢復(fù)到原來的值。
運行過程如圖,感謝IAR的方便。
|
-
1.jpg
(23.66 KB, 下載次數(shù): 274)
下載附件
2019-12-31 17:15 上傳
加密運算前
-
2.jpg
(23.95 KB, 下載次數(shù): 252)
下載附件
2019-12-31 17:15 上傳
已加密
-
3.jpg
(19.31 KB, 下載次數(shù): 249)
下載附件
2019-12-31 17:15 上傳
解密運算后,得到原值
評分
-
查看全部評分
|