求指导释一个加密算法

C++语言 码拜 8年前 (2016-05-25) 789次浏览
#define SERVER_TO_CLIENT_KEY "sever_to_client_key"
#define CLIENT_TO_SERVER_KEY "client_to_sever_key"
static void encrypt (char* data, int len, const char* key, int begin_pos)
{
    if( NULL == data || NULL == key || len <= 0)
    {
        return;
    }
    char* p_buff = data;
    const char* p_key = key;
    intt KeyLen = int(strlen(p_key));
    for (int i = 0; i < (len); ++i)
    {
        *p_buff ^= p_key[(i+begin_pos)%KeyLen];
        p_buff++; 
    }
}

这种加密模式的原理是什么,怎么解释呢?本人知道用到了异或。

解决方案

20

这个加密算法,就是将Key的每个字节循环和数据的每个本人异或。
属于对称加密。
加密和解密算法相同。
加密秘钥和解密秘钥相同。
效果基本上和替换加密一样,比较容易破解。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求指导释一个加密算法
喜欢 (0)
[1034331897@qq.com]
分享 (0)