外链论坛

 找回密码
 立即注册
搜索
查看: 90|回复: 4

PHP+MySQL应用中运用XOR运算加密算法,这些知识您认识多少?

[复制链接]

3053

主题

176

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098897
发表于 2024-7-10 18:12:28 | 显示全部楼层 |阅读模式
本文将介绍一个简单易用的加密/解密算法:运用异或(XOR)运算。本算法原理简单,旨在使读者对信息的加密/解密有一个更加直观的印象。

01XOR算法原理

从加密的重点办法看,换位法过于简单,尤其针对数据量少的状况很容易由密文猜出明文,而替换法不失为一种行之有效的简易算法。

各样替换法运算的特点看,异或运算最适合用于简易加解密运算,这种办法的原理是:当一个数A和另一个数B进行异或运算会生成另一个数C,倘若再将C和B进行异或运算则C又会还原为A。

针对其他的简易加密算法,XOR算法的优点如下:

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

(2)速度快,能够在任何时候、任何地区运用

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

02XOR算法实现

上一部分介绍了怎样运用XOR运算进行加密/解密的原理,本节将运用其加密用户的登录信息。按照上一小节介绍的XOR加密算法的原理,不难写出以下的加密解密函数。首要列出加密算法。

!--encrypy_xor:简单运用XOR运算的加密函数----------------------- ?php //加密函数 functionmyEncrypt($string,$key) { for($i=0;$i<STRLEN($STRING);p$i++)<> { for($j=0;$j<STRLEN($KEY);p$j++)<> { $string[$i]=$string[$i]^$key[$j]; } } 13return$string; 14}

第4行定义了加密函数myEncrypt(),输入参数$string为明文,而$key为密钥;输出为运用$key做为密钥并运用XOR加密算法产生的密文.第6~12行的外层for循环对明文字符串的每一个字符进行循环,而内层的for循环(第8~11行)对明文的每一字符循环与密钥的每一位做异或运算。其原理已然在上一小节中间商绍,再也不重述。

一样,与加密函数类似,能够写出下面的解密函数

//解密函数 functionmyDecrypt($string,$key) { for($i=0;$i<STRLEN($STRING);p$i++)<> { for($j=0;$j<STRLEN($KEY);p$j++)<> { $string[$i]=$key[$j]^$string[$i]; } } return$string; } ?

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

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

//示例 $my_password="chair"; echo"my_password=$my_password"; $my_key="1234567890"; $my_password_en=myEncrypt($my_password,$my_key); echo"my_password_en=$my_password_en"; $my_password_de=myDecrypt($my_password_en,$my_key); echo"my_password_de=$my_password_de";

第3行首要定义了一个明文$my_password,而后在第4行定义密钥$my_key。第5、6行分别调用加密函数生成密文并输出;反过来,又在第7、8行将密文解密。

上面示例的运行结果如下

my_password=chair my_password_en=RYPXC my_password_de=chair

用XOR算法实现身份验证上两部分分别介绍了运用XOR运算进行信息加密/解密的原理和实现,下面,将运用这一办法来对用户的登录暗码进行加密。本例中,为了守护用户的暗码,系统想要达到的目的如下。

·在用户注册时,用户必须添写用户暗码表单。

·除用户自己之外,其他任何人都法获取其暗码信息,

回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-8-27 16:33:11 | 显示全部楼层
你的见解真是独到,让我受益良多。
回复

使用道具 举报

2880

主题

2万

回帖

9997万

积分

论坛元老

Rank: 8Rank: 8

积分
99979669
发表于 2024-10-22 02:46:34 | 显示全部楼层
同意、说得对、没错、我也是这么想的等。
回复

使用道具 举报

2986

主题

2万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96066074
发表于 2024-10-27 05:22:17 | 显示全部楼层
期待楼主的下一次分享!”
回复

使用道具 举报

2986

主题

2万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96066074
发表于 11 小时前 | 显示全部楼层
楼主发的这篇帖子,我觉得非常有道理。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-5 14:37 , Processed in 0.068375 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.