生成和验证注册码的基本思路
大多數(shù)情況下,我們開發(fā)一款小軟件,都會(huì)有如下需求:
想限制試用版的使用次數(shù)。并且當(dāng)注冊(cè)后,怎樣才能一個(gè)注冊(cè)碼對(duì)應(yīng)唯一一臺(tái)電腦,不能重復(fù)使用注冊(cè)碼,在不同電腦上注冊(cè)。
?
基本思路
1.當(dāng)程序首次運(yùn)行時(shí),在注冊(cè)表中新建一個(gè)鍵,如limit,鍵值則存放一個(gè)數(shù)字,用于限制試用版的使用次數(shù),試用程序用一次則遞減一次,注冊(cè)過(guò)的程序不需要檢查這個(gè)值。
2. 如果生成注冊(cè)碼的要求不是非常嚴(yán)格,可以隨機(jī)生成數(shù)字加字母組合的字符串,通過(guò)正則進(jìn)行匹配,如[0-9]{2}[A-Z]{3}-[0-9]{3} [A-Z]{2}-WYEU0-8989P。生成后放注冊(cè)表,如,鍵SequenceNumber,值就是生成的注冊(cè)碼。
3.為了能在不同電腦上注冊(cè), 用ManagementObjectSearcher取cpu,主板,硬盤等信息,生成一個(gè)字符串,做為一個(gè)注冊(cè)表新鍵,鍵值則是放入進(jìn)行對(duì)稱或不對(duì)稱加密了的注冊(cè)碼。
4. 做驗(yàn)證時(shí),通過(guò)cpu,主板,硬盤等信息獲取加密了注冊(cè)碼的值,再將其解密,通過(guò)與SequenceNumber里的注冊(cè)碼進(jìn)行比較后,如果發(fā)現(xiàn)相等,則 驗(yàn)證通過(guò),否則不通過(guò)。最后用正則[0-9]{2}[A-Z]{3}-[0-9]{3}[A-Z]{2}-WYEU0-8989P對(duì)注冊(cè)碼進(jìn)行匹配,匹配 成功則通過(guò),失敗則不通過(guò)。另外,通過(guò)cpu,主板,硬盤等信息獲取不到注冊(cè)表鍵值,也被認(rèn)為是未注冊(cè)狀態(tài)。
轉(zhuǎn)載于:https://www.cnblogs.com/techmango/archive/2012/06/09/2543001.html
總結(jié)
以上是生活随笔為你收集整理的生成和验证注册码的基本思路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【每日进步】May 2012
- 下一篇: Expect 在网络管理中发挥着重要作用