PHP 服务器和 C++ 客户端中的异或加密
Xor encryption in PHP server and c++ client
我有一个使用 XOR 加密将加密数据发送到我的站点的 c++ 客户端。但是结果我在php和c ++代码中有不同的值,但我不明白为什么?
C++ 代码片段
string XOR(string value,string key)
{
string text = "";
DWORD k = 0;
DWORD v = 0;
DWORD klen = key.length();
DWORD vlen = value.length();
for ( DWORD v = 0; v < vlen; v ++ )
{
text += value[v] ^ key[k];
k=(++k < klen ? k : 0);
}
return text;
}
Php 代码片段:
public function xorEncrypt( $InputString, $KeyPhrase )
{
$textOut = "";
$k = 0;
$klen = strlen($KeyPhrase);
for ( $i = 0; $i < strlen($InputString); $i++ )
{
$textOut .= chr(ord($InputString[$i]) ^ $KeyPhrase[$k]);
$k=(++$k < $klen ? $k : 0);
}
return $textOut;
}
任何人都可以帮助我。谢谢!
这可能与PHP没有DWORD类型有关,因此它对不同长度的整数执行XOR。您可能需要逐字节执行 XOR 才能在 PHP 和 C++ 中获得相同的结果。
相关文章:
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 如何将函数集合传递给客户端类,以便将它们当作客户端类本身的成员使用
- 使用调试/崩溃报告将应用程序部署到客户端
- 如何在本地机器上运行c++和javascript客户端代码(hackerbank风格)
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 从服务器传输到客户端的消息不会出现
- OpenSSL TLS服务器-使用客户端证书白名单
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 提升 Asio TCP 服务器 处理多个客户端
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 如何绑定 C++ gRPC 客户端的网络接口
- 为 S3 客户端加密文件生成预签名 URL 以查看/打开
- 编译基于 sCrypt 的加密货币 QT 客户端时,抛出常见错误
- 向我的 TCP 客户端/服务器应用添加加密层的最直接方法是什么?
- 如何在Qt中使用TLS加密编写客户端和服务器
- 安卓(客户端)上的Aes加密和服务器上的C++解密
- PHP 服务器和 C++ 客户端中的异或加密
- 使用加密 API 在客户端和服务器之间进行加密和解密的正确方法是什么?
- 客户端/服务器密码加密