2016-11-11 89 views
2

最近,我遇到了一個網站,用戶的電話號碼部分可見,您必須點擊鏈接才能顯示其餘的內容。該鏈接有一個加密的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

我希望你是對的,這就是殭屍混淆的地方,或者這是對安全性的蹩腳嘗試。我對電子郵件地址做了類似的處理,在點擊它們的時候,這些地址與組成部分相連,而不是有一個明顯的'mailto:spam-me-please @ your-leisure.com' – Archer

回答

2

是的,這是混淆而非加密。它完全獨立的事實使得它不能成爲除此之外的任何東西。

首先,它似乎沒有使用任何明確的密鑰。將看似對稱的​​密鑰集成到數據中並不能保證安全 - 即使它使用真正的密碼,如AES。其次,這看起來不符合Kerckhoff's principle,其中規定即使攻擊者知道該方案,加密方案也應該是安全的。由於任何人都可以在沒有密鑰的情況下執行該功能並獲得正確的結果,這顯然違反了原則。你當然可以爭辯說,沒有鑰匙,該計劃將永遠打破這一原則。

我唯一能想出的就是防止(簡單)網絡爬蟲(比如搜索引擎使用的)。