一般程序中都需要用到注冊碼,為了防止盜版,如果把生成的注冊碼保存到數(shù)據(jù)庫里,并且通過軟件在客戶端訪問服務(wù)器來匹配客戶端輸入的驗證碼是否正確,這是一種好的解決盜版的方案。
下面描述的代碼就是使用PHP生成數(shù)字驗證碼,類似于:152-562-986-230 這樣的,為了保證驗證碼不被猜中,我們采用比較復(fù)雜的12位數(shù)字,那么可能性就有:999999999999 這么多,那么重復(fù)的幾率就很小。
我們下面的的程序就演示了身成1000個隨機的注冊碼的例子。包括兩個程序,一個程序用來生成從 100到999的序列數(shù)字并且保存到文件里,第二個程序是從文件中提取隨機數(shù)對應(yīng)行的數(shù)字生成驗證碼串,然后身成1000個隨機串,最后保存在文件里。
程序一:生成序列數(shù)字
| 以下為引用的內(nèi)容: <?php /* 配置 */ //生成從1000到9999的數(shù)字序列 //把上面生成的數(shù)字序列寫入文件 echo "Create $save_file succeed!"; ?> |
執(zhí)行上面的代碼,就會在當(dāng)前程序目錄生成一個 number.txt文件,里面保存了類似下面的數(shù)字:
| 以下為引用的內(nèi)容: 100 101 102 103 104 105 106... |
程序二:生成驗證碼
| 以下為引用的內(nèi)容: <?php /** * File: 生成CD-Key程序 * Author: heiyeluren * Create: 2005-9-5 22:26 */ /* 配置 */ /* 生成隨機數(shù)字串 */ /* 過濾重復(fù)串并且提取最終需要的CD-Key數(shù)量 */ /* 把最終的CD-Key寫入文件 */ echo "Create $key_total key succeed!"; /* 隨機函數(shù) */ ?> |
執(zhí)行上面的程序就會生成cd_key.txt文件,里面包含了類似下面的驗證碼:
| 以下為引用的內(nèi)容: 573-225-374-118 691-553-280-280 969-594-607-211 251-575-776-563 280-289-739-533... |
這樣,就完整的達到了我們的目的,你也可以把以上隨機串保存到數(shù)據(jù)庫里,方便調(diào)用。靈活設(shè)置以上變量,你能夠生成16位、20位的驗證碼。如果你有興趣,也可以寫類似 XDF8F-ADE89-D0J5C-4RTFG之類的驗證碼,呵呵發(fā)揮下想象力。
新聞熱點
疑難解答