今天有一個網友說他寫了一個小軟件,想增加註冊碼功能。問我有什麼思路。
我想了一下,說可以做在註冊表裏面,找個位置保存註冊情況。
程序檢查到沒註冊時就不工作,要求用戶輸入密碼(註冊碼)。
他不太認可,擔心用戶跟蹤到註冊表裏面的記錄,直接修改註冊表跳過。
然後我又建議他每次程序啓動時聯網檢查用戶註冊情況,他又否定了,說用戶不一定聯網。
我又建議他把註冊信息寫在特殊的u盤,用戶註冊了後發個u盤給他,程序要讀到這個u盤纔可以工作。
他又否定了,說用戶可能是在購買的雲服務器上跑,沒法插u盤。
後來我在百度上找了一個,給了最後一個方案,他終於認可了:
使用rsa加密方法,將用戶信息使用公鑰進行加密。用戶要註冊時需要把加密結果發給他。
他用私鑰解開後,可以住裏面增加有效期,註冊功能等信息,再用私鑰加密。把加密結果做爲註冊碼發回給用戶,保存起來。
程序每次啓動時要讀取這個註冊碼,用公鑰解開,獲取裏面的註冊信息。
rsa真是一個有趣的技術,不僅可以用來做加密,還能用來做簽名,還可以像現在這樣用來做註冊碼