使用客户端加密来获取用户信息的好处

时间:2016-11-11 13:16:56

标签: javascript encryption web-frontend

最近,我遇到了一个网站,其中用户的电话号码部分可见,您必须单击链接以显示其余部分。该链接具有加密ID, javascript 函数用于提取电话号码。

这可能看起来很有趣但我无法看到使用此类功能的好处,因为我可以轻松调用该功能并提取电话号码。此功能仅用于防止搜索引擎将用户编入索引吗?信息?

如果您有点好奇,这就是功能:

function d(num){
    num=num.substring(2);
    var c=parseInt(num[0]);
    var n="";
    var i=c+1;
    while(i<num.length)
    {
        n+=num[i];
        c=parseInt(num[i+1]);
        i+=c+1;
        i++;
    }
    return n;
}

该链接的ID如下所示:X_31320224932121817272269264130*********

1 个答案:

答案 0 :(得分:2)

是的,这是混淆而不是加密。它完全是自包含的事实使得它不能是除此之外的任何东西。

首先,它似乎没有使用任何显式键。将看似对称的​​密钥集成到数据中并不会使其安全 - 即使它确实使用了真正的密码,如AES。

其次,这似乎不符合Kerckhoff's principle,其中规定即使攻击者知道该方案,加密方案也应该是安全的。任何人都可以在没有钥匙的情况下执行该功能并获得正确的结果,这显然会使原则无效。你当然可以争辩说,如果没有钥匙,该计划将永远违背这一原则。

我唯一能想到的就是保护(不成熟的)网络抓取工具,例如搜索引擎使用的网页抓取工具。