单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 770|回复: 13
打印 上一主题 下一主题
收起左侧

用C语言异或进行加密与解密运算

  [复制链接]
跳转到指定楼层
楼主
f556 发表于 2019-12-31 17:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
前久写《不用中间数交换两个变量的方法》反响不错,其中用到了异或运算。今天看《通信原理》书,提了数字信息可以很方便地进行加密与解密运算,用到了异或。
随手写了个实例玩玩:
unsigned int aa=3456;
void main( void )
{
      unsigned int pwd=5438;
      aa ^= pwd;  //加密

      aa ^= pwd; //解密
}
没有用函数、指针传递参数形式来写,更显的简单,就两行语句。

定理:一个数与另一个数做两次异或运算后得到原值,或者说恢复到原来的值。
运行过程如图,感谢IAR的方便。

1.jpg (23.66 KB, 下载次数: 5)

加密运算前

加密运算前

2.jpg (23.95 KB, 下载次数: 7)

已加密

已加密

3.jpg (19.31 KB, 下载次数: 5)

解密运算后,得到原值

解密运算后,得到原值

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
沙发
lwx313 发表于 2020-1-3 09:30 | 只看该作者
嗯嗯,学习了
板凳
zxlong123456 发表于 2020-1-7 19:49 来自手机 | 只看该作者
学习了,谢谢
地板
lindeijun1 发表于 2020-1-11 08:34 | 只看该作者
谢谢楼主分享!!!
5#
hfj2011 发表于 2020-1-11 12:02 | 只看该作者
很有收获,谢谢分享
6#
chabao 发表于 2020-1-11 12:25 | 只看该作者
这个厉害
7#
sfdbhgfhdf 发表于 2020-1-13 14:21 | 只看该作者

很有收获,谢谢分享
8#
sunx 发表于 2020-1-20 13:38 | 只看该作者
谢谢分享
9#
azxiaxp 发表于 2020-1-31 11:59 | 只看该作者
好厉害,简单可行!!
10#
xiaoniren 发表于 2020-2-3 12:20 | 只看该作者
学习了有用
11#
wsh791 发表于 2020-2-3 16:56 来自手机 | 只看该作者
学习一下,谢谢分享
12#
恋上天山 发表于 2020-2-7 14:51 | 只看该作者
学习一下,谢谢分享
13#
xiaobing318 发表于 2020-2-13 15:25 | 只看该作者

学习一下,谢谢分享!!
14#
1238 发表于 2020-2-14 09:31 | 只看该作者
学习了,谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|单片机论坛 |51黑电子论坛技术交流 管理员QQ:125739409;技术交流QQ群636986012

Powered by 单片机教程网

快速回复 返回顶部 返回列表