PHP中是否有办法测试字符串是否已使用mcrypt_encrypt
加密?
答案 0 :(得分:1)
大概你的意思是mcrypt_encrypt()
?没有mcrypt_encode()函数。
没有。正确加密的字符串应该与随机垃圾无法区分。测试加密字符串以查看它是否被加密的唯一方法是解密它。
答案 1 :(得分:1)
你没有具体说明你真正关心的事情,但是:
某些数据是否已加密并不取决于使用了哪种加密功能,而是取决于哪种加密算法。比方说,如果有人在PERL或PHP中加密了某些内容 - 你无法通过加密字符串来判断。
因此,这不适用于mcrypt_encrypt
。该功能不会在加密数据中留下任何符号。
但是,如果您拥有密钥和原始文本(普通文本)以及算法,则可以撤消mcrypt_encrypt
对mcrypt_decrypt
所做的操作。然后你可以比较平原,如果它们匹配,你可以说平原是用特定的密钥和算法加密的。
由于我们正在谈论加密,通常情况并非如此,你没有简单。
但是,您可以创建plain的校验和并对其进行加密。然后,您可以稍后对其进行解密,并将其与您加密的平面的校验和进行比较,以判断数据是否已成功解密。但是,如图所示,这实际上是加密数据旁边的附加信息。
如果您要添加更多信息,可能会提供更多有用的建议。
答案 2 :(得分:0)
加密时为字符串添加一些静态文本;当cheking使用mcrypt_encode再次使用静态文本时,这次没有原始字符串,看加密的静态文本是否存在于加密字符串中。它应该工作