前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XOR算法的原理和实现

XOR算法的原理和实现

作者头像
Angel_Kitty
发布2018-04-09 17:44:19
3.1K0
发布2018-04-09 17:44:19
举报
文章被收录于专栏:小樱的经验随笔

XOR算法的原理和实现

XOR算法这种方法的原理

当一个数A和另一个数B进行异或运算会生成另一个数C,如果再将C和B进行异或运算则C又会还原为A。

相对于其他的简易加密算法,XOR算法的优点如下。

(1)算法简单,对于高级语言很容易能实现。

(2)速度快,可以在任何时候、任何地方使用。

(3)对任何字符都是有效的,不像有些简易加密算法,只对西文字符有效,对中文加密后再解密无法还原为原来的字符。

XOR算法实现

上一部分介绍了如何使用XOR运算进行加密/解密的原理,本节将使用其加密用户的登录信息。根据上一小节介绍的XOR加密算法的原理,不难写出以下的加密解密函数。首先列出加密算法。

XOR算法的原理和实现
XOR算法的原理和实现

第4行定义了加密函数myEncrypt(),输入参数$string为明文,而$key为密钥;输出为使用$key作为密钥并使用XOR加密算法产生的密文。

第6~12行的外层for循环对明文字符串的每一个字符进行循环,而内层的for循环(第8~11行)对明文的每一字符循环与密钥的每一位做异或运算。其原理已经在上一小节中介绍,不再重述。

同样,与加密函数类似,可以写出下面的解密函数。

XOR算法的原理和实现
XOR算法的原理和实现

第4行定义了解密函数myDecrypt(),输入参数$string为密文,而$key为密钥;输出为使用$key作为密钥并使用XOR解密算法产生的明文。

下面,通过一个应用示例来进一步说明加密函数的功能。

XOR算法的原理和实现
XOR算法的原理和实现

第3行首先定义了一个明文$my_password,然后在第4行定义密钥$my_key。

第5、6行分别调用加密函数生成密文并输出;反过来,又在第7、8行将密文解密。

上面示例的运行结果如下。

my_password=chair

my_password_en=RYPXC

my_password_de=chair

在用户注册时,用户需要添写用户密码表单。

除用户本人之外,其他任何人都无法获取其密码信息,包括系统设计者和数据库管理员。

系统能根据用户输入的密码验证用户的合法性。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • XOR算法的原理和实现
    • XOR算法这种方法的原理
      • XOR算法实现
      相关产品与服务
      数据库智能管家 DBbrain
      数据库智能管家(TencentDB for DBbrain,DBbrain)是腾讯云推出的一款为用户提供数据库性能、安全、管理等功能的数据库自治云服务。DBbrain 利用机器学习、大数据手段、专家经验引擎快速复制资深数据库管理员的成熟经验,将大量传统人工的数据库运维工作智能化,服务于云上和云下企业,有效保障数据库服务的安全、稳定及高效运行。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档