軟體許可證(License)的設計思路
今天, 我們來考慮這樣一個問題: 你寫了一個軟體tool.exe, 別人想買, 需要花1塊錢, 然後你把tool.exe發給他, 他就是你的使用者了。 問題是: 你怎麼防止tool.exe被無限複製和傳播呢? 這樣豈不是就掙不到錢呢? 這就涉及到軟體許可證的控制了。 你看, 我們平常用的一些軟體, 經常需要搞個驗證碼什麼, 就是類似的道理。 這裡, 我們考慮讓tool.exe繫結到具體一臺電腦, 別的電腦不能用。 怎麼做到呢? 我們一起來看看一個簡單的設計和實現: 1. 你把tools.exe工具發給你的使用者, tooll.exe工具會生成SID資訊, 這個SID資訊與某一臺電腦是強繫結的, 我的博文之前有介紹怎麼獲取這個SID資訊。 2. 使用者把tools.exe上顯示的SID資訊發給你, 你用onlyMe.exe生成許可證檔案, 變換法則是: licenseFile = f(SID), 也就是對SID進行一系列的變化, 如RSA加密等。 然後你把licenseFile這個檔案發給使用者。 3. 使用者選擇用tools.exe工具匯入licenseFile檔案, 然後tool.exe讀取其中內容, 並進行解碼(逆向f變換), 解出SID資訊, 然後與tool.exe生成的SID比較。 相等則允許使用, 否則不允許使用。 當然, 為了安全起見, 可以加入更加複雜的機制, 如簽名, 鹽等! 千萬要注意:onlyMe.exe不可洩露. --------------------- 本文來自 stpeace 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/stpeace/article/details/77998403?utm_source=copy