VR康復系統之程式加密(C )

2021-10-04 17:31:28 字數 2333 閱讀 4546

對當前程式進行加密,需要獲取授權碼才可以使用程式

首先在安裝**系統的一端獲取其電腦的cpu id 和 memory id,儲存在txt文件中,然後發回,然後根據文件生成授權碼,然後發回安裝**系統的一端,在執行程式的時候就會判斷是否有授權碼,如果有根據授權碼來對當前電腦判斷是否在授權期內,如果在,則開啟程式

public

string

getcpuid()

moc =

null

; mc =

null

;return cpuinfo;

}catch

}

public

string

getmemoryid()

moc =

null

; mc =

null

;return cpuinfo;

}catch

finally

}

public

string

encryptdes

(string encryptstring,

string encryptkey)

catch

}

system.io.file.

writealltext

(@"d:\time2.txt"

,"write"

+"\r\n"

);

string

textread = file.

readalllines

(@"d:\computer_id.txt");

//讀取txt文件內容

string

arr = textread[0]

.split

(' ');

//獲取txt文字第一行內容,並根據空格來對第一行內容進行分隔

*部分可自定義輸入,我就不透露了

public

bool

creatkey

(string deviceids)

解密**,陣列keys沒有寫,decryptkey為金鑰

public

string

decryptdes

(string decryptstring,

string decryptkey)

//解密

catch

}

驗證部分**,*部分自定義

首先判斷本機是否獲取授權,如果有授權則判斷是否在授權期內,若果在則繼續執行,否者退出程式

string

textread = file.

readalllines

(@"d:\computer_id.txt");

//讀取txt文件內容

string

arr = textread[0]

.split

(' ');

//獲取txt文字第一行內容,並根據空格來對第一行內容進行分隔

string key =

"********"

;//加密解密的金鑰

string deviceids =

decryptdes

(arr[0]

, key)

+decryptdes

(arr[1]

, key)

;//本機電腦的id

string dir =

@"******.dat"

;byte

superkeydata = file.

readallbytes

(dir)

;string deviceids2 = encoding.ascii.

getstring

(superkeydata)

;//獲取的授權碼id

deviceids2 =

decryptdes

(deviceids2, key)

;//對授權碼解密

string verifykeyid = deviceids2.

substring(0

, deviceids.length)

;" "+deviceids +" "+verifykeyid);

if(verifykeyid == deviceids)

}else

C 加密狗程式

在購買加密狗時,廠家通常會附帶有開發手冊和一張光碟。開發手冊中介紹了加密狗的使用方法和開發資料。本例使用賽孚耐資訊科技 的加密狗產品,該產品提供了.net中非託管的類庫,來完成加密狗的資料讀寫功能。下面介紹有關加密狗的類庫中的讀寫函式。dogwrite 函式 該函式將pdogdata指向的資料寫入加...

Ubuntu之加密檔案系統

sudo apt get install dmsetup cryptsetup time sudo dd if dev zero of svn.img bs 1m count 35000 sudo losetup dev loop6 svn.img sudo cryptsetup y create ...

玩轉Ubuntu Linux之加密檔案系統篇

要解除安裝加密檔案系統,和平常的方法沒什麼兩樣 sudo umount mnt myencryptedfilesystem即便已解除安裝了塊裝置,在dm crypt中仍然視為乙個虛擬裝置。如若不信,你能再次執行命令sudo dmsetup ls來驗證一下,你會看到該裝置依然會被列出。因為dm cry...