SKGL – 方便的序號產生函式庫

看到標題不要誤會,本篇文章不是要講如何破解軟體序號。

對於想賣軟體營利的人來說,設計一個序號機制是個令人頭大的問題,剛好前陣子看到 SKGL,基本的功能它都有。像是基本的產生序號:

Generate genKey = new Generate();   
genKey.secretPhase = "mypassword";  //set your password    
string sn = genKey.doKey(30);   
Console.WriteLine(sn);  
Generate genKey = new Generate();
genKey.secretPhase = "mypassword";  //set your password 
string sn = genKey.doKey(30);
Console.WriteLine(sn);

短短幾行,就可以產生像是MJBXY-TDTGR-KXDQN-UQQYW這樣的序號且有效日期設定為三十天後,而驗證序號的程式碼則是:

Validate validator = new Validate();   
validator.secretPhase = password;   
validator.Key = sn;   
Console.WriteLine(validator.ExpireDate);   
Console.WriteLine(validator.IsValid);  
Validate validator = new Validate();
validator.secretPhase = password;
validator.Key = sn;
Console.WriteLine(validator.ExpireDate);
Console.WriteLine(validator.IsValid);

只要密碼跟產生序號時用的是同一組,驗證就會通過,而且還能檢查有效期限。

另外,除了有效期限,還能附加該序號所支援的 feature,例如說軟體有多個版本,那就可以指定序號是哪個版本或是該序號可以讓軟體使用哪些功能。

string password = "mypassword";   
SerialKeyConfiguration config = new SerialKeyConfiguration();   
config.Features = new bool[]    
{  
    false, false ,false,false,  
    false,true,true,false  
};   
Generate genKey = new Generate(config);   
genKey.secretPhase = password;  //set your password   
string sn = genKey.doKey(30);   

Validate validator = new Validate();   
validator.secretPhase = password;   
validator.Key = sn;   
Console.WriteLine(validator.IsValid);   

foreach (bool feature in validator.Features)   
{  
    Console.WriteLine(feature);  
}  
string password = "mypassword";
SerialKeyConfiguration config = new SerialKeyConfiguration();
config.Features = new bool[] 
{
    false, false ,false,false,
    false,true,true,false
};
Generate genKey = new Generate(config);
genKey.secretPhase = password;  //set your password
string sn = genKey.doKey(30);

Validate validator = new Validate();
validator.secretPhase = password;
validator.Key = sn;
Console.WriteLine(validator.IsValid);

foreach (bool feature in validator.Features)
{
    Console.WriteLine(feature);
}

如上述程式碼所示,設定第六、七個 feature 為 true,在驗證序號時,就可以知道哪些功能可以使用,不能使用的功能就直接隱藏。特別要注意的是,features 雖然設定八組,但驗證時會得到九組,直接略過第一組,檢查後面八組即可。

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s