异或密码(X0R)
异或密码是密码学中一种简单的加密算法,属于维吉尼亚密码的一种变体,不过其和维吉尼亚密码本质上并不相同,异或密码主要基于异或运算进行加密。异或运算是计算机程序设计语言中,一种很重要的基于二进制的位运算,其中异或的数学符号为“⊕”,计算机符号为“XOR”。异或密码不管是加密和解密都遵循着一个固定的异或运算原则进行,如下所示:A⊕0=A0⊕A=AA⊕A=0(这个规则的意思很简单,,即不相同的数字进行异或等于1,相同的数字进行异或等于0)根据以上的运算逻辑,我们在加密的时候,只需要将明文转换成8位数二进制ASII码,之后和密钥按位进行异或运算,即可得出密文,解密也是同样的道理,只需要将加密后的结果与密钥再次进行按位异或运算即可,记得区分大小写。举个简单的例子:我们要用密钥:L加密明文:TUI首先,在加密之前,我们需要先将明文和密钥都转换成8位数的二进制ASII码,根据上表查找即可。转换后如下:密钥:01001100明文:01010100-01010101-01001001之后,我们将明文写在上面,密钥写在下面(密钥重复使用),然后按位进行异或运算即可,如下所示:01010100-01010101-01001001(明文)⊕01001100-01001100-01001100(密钥)=00011000-00011001-00000101(密文)解密的话,只需要将加密后的结果与密钥再次进行按位异或运算即可,如下所示:00011000-00011001-00000101(密文)⊕01001100-01001100-01001100(密钥)=01010100-01010101-01001001(明文)最后,值得说明的是异或密码安全性不高,很容易被破解,所以对于私密的信息,不建议用这种方法进行加密,但是可以利用该密码和其他密码进行组合加密,这个就看你们自己发挥了。
很有用。
页:
[1]