一日一技:使用异或操作对数字进行加密解密

时间:2022-06-17
本文章向大家介绍一日一技:使用异或操作对数字进行加密解密,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

异或操作具有以下性质:

  • 相同的两个数,相异或以后结果为0
  • 0与任何数相异或,结果仍然是原来的数字
  • 异或操作满足交换率

根据这三个性质,可以使用异或操作对数字进行简单的加密和解密。

假设密钥为88882222,QQ密码为4455661122,那么可以使用密钥对QQ密码进行加密:

>>> key = 88882222
>>> password = 4455661122
>>> cipher = key ^ password
>>> cipher
4510958188

现在你就把4510958188这个数字发给别人。别人拿到这个数字以后,把这个数字和密钥再做一次异或操作,就能还原QQ密码:

>>> key = 88882222
>>> cipher = 4510958188
>>> cipher ^ key
4455661122