PHP异或解密
我有一个加密的参数V,来自如下网页:PHP异或解密,php,encryption,md5,xor,Php,Encryption,Md5,Xor,我有一个加密的参数V,来自如下网页: page.php?V=5E5C535C584B40584A4A4E564B5D4503510755020402080C580A015D0D0A5A010206070C0E025C000F005D080E5F5D V的加密方式如上所述: MD5: 异或: 它给出了类似于: encryptedXOR = 5E5C535C584B48584A4A4E564B5D4503510755020402080C580A015D0D0A5A010206070C0E025C0
page.php?V=5E5C535C584B40584A4A4E564B5D4503510755020402080C580A015D0D0A5A010206070C0E025C000F005D080E5F5D
V的加密方式如上所述:
MD5:
异或:
它给出了类似于:
encryptedXOR = 5E5C535C584B48584A4A4E564B5D4503510755020402080C580A015D0D0A5A010206070C0E025C000F005D080E5F5D
这里我想要的是使用密码解密这个“ecryptedXOR”的函数,这样我就可以得到:
login|password|b90669a351161d0d74bed0e04d7b5eef
以下是我迄今为止所做的工作:
您可以使用相同的“密码”进行异或运算以获得原始字符串
编辑:
发件人:
通过使用给定密钥对每个字符应用按位异或运算符,可以对文本字符串进行加密。要解密输出,只需重新应用密钥即可删除密码
因此,如果您的obj.XOREncryption()
除了一个简单的XOR之外没有做任何额外的操作,那么通过第二次应用相同的操作,您将获得原始文本:
decryptedXOR = obj.XOREncryption(password, encryptedXOR )
您可以使用相同的“密码”进行异或以获取原始字符串obj.XOREncryption使用的是什么语言?如果这是JS,那么它将对字符串进行按位OR运算,除非它实际上是字符串中的一个分隔符,并且您在其中的某个位置缺少一个
“
。NaceRedine,您应该将其作为一个答案发布。@NaceRedine“密码”是使用XOR加密/解密的密钥,我正在询问如何“获取原始字符串”" !@克朗塔布:我觉得这个答案太短了,不可能是个好答案。我现在就发了,希望有人能发一个更好的,有更好解释的帖子。你每分钟都在编辑你的帖子,兄弟,我对XorencryOption函数一无所知,我唯一能做的就是:V参数&加密密码/decryption@ZontaV
在本例中是加密字符串,您可以创建一个函数(如果你还没有,我想你已经有了)使用您已经拥有的password
对V
参数的内容进行异或运算,您将得到您正在寻找的login | password | b90669A3511161D0D74BED0E04D7B5EEF
。@Zonta:简单的异或运算只需循环原始字符串中的每个字符,并将其与密码中的相应字符进行异或运算。Pseudo code:对于i=0..length(input){output=output+input[i]XOR password[i mod length(password)]}
@mcrumley:谢谢,如果你能看到我以前粘贴的代码那就太好了()@Zonta从头开始就是最好的选择
login|password|b90669a351161d0d74bed0e04d7b5eef
decryptedXOR = obj.XOREncryption(password, encryptedXOR )