QT license gen tool開發總結

2021-07-03 01:11:39 字數 1405 閱讀 1526

1.license gen tool簡介

這是一款使用者軟體授權管理license檔案生成器,輸入是使用者的機器指紋,使用者的授權資訊(包括軟體的使用期限,各個模組的授權)等,

輸出是乙個license檔案,使用者客戶執行授權軟體時進行授權管理,還輸出乙個license資料庫,方便後續管理。

2.用到的技術

2.1qt相關的知識

包括ui 控制項 發布 搭建環境等

2.2 sqlite資料庫技術

2.3 openssl演算法

3.開發中遇到的問題

3.1openssl rsa解密時,程式會掛掉

原因是在拷貝解密資料時使用了strncat

memset((void

*)pc_tmpbuf,

'\0',sz_buflen);

strncat(pc_tmpbuf,

pc_buffer,

sz_buflen);

首先這樣的操作很不規範,拷貝為什麼要使用strncat呢,雖然理論上講的通,將pc_tmpbuf初始化為了\0,此時strncat就是strcpy的作用。
但是用於解密資料可能會有\0,此時使用str的函式並不合理,應該是使用memcpy
3.2 函式呼叫時傳遞了空指標
size_t*

retlen;

func_ret

decrypt_identifiers(char

*pc_buffer,

const

size_t

sz_buflen,

const

char

*pc_rsa_pri_key_name,

const

char

*pc_decrypt_file_name,

size_t

*psz_write_len)

decrypt_identifiers(pc_tmpbuf,sz_read_len,

prikey_decrypt_key_file_name

,decrypt_file_name

,retlen);

size_t

*psz_write_len

這個引數是帶有返回功能的,因為沒有用到這個的返回值,所以沒有考慮太多,直接傳遞了乙個指標retlen。但是這個指標未被初始化,在
decrypt_identifiers中對其賦值時會產生意想不到的問題。出現有時候可以執行,有時候會宕機。
指標使用前一定要初始化。

web開發 牛腩總 細節篇

前一陣子做完 牛腩新聞發布系統 後,對其中遇到的一些問題做一下彙總和細節的把握,現在發出來留作記錄。希望對以後有幫助。1.sql服務沒有開啟 資料庫連線字串寫錯。2.資料庫中有外來鍵關聯。3.資料類因保護級別受限不可訪問 檢查問題類是否宣告為public。4.web.config檔案新增 1.按鈕r...

伺服器開發總篇

看著自己之前寫的部落格並沒有乙個良好的總結,看著自己的知識體系並沒有良好的建立,今日自己終於幡然醒悟,意識到自己在生活,在學習中的許多不足。其實吧部落格就是個人技術及經驗的積累,是宣洩自己心中所想所悟之所。伺服器開發 學習筆記 師從 伺服器開發 學習筆記 環境配置 伺服器開發 學習筆記 簡單的客戶端...

NXP ZigBee JN5169開發流程總結

經過乙個多月的摸索,現總結jn516x的開發流程如下 安裝ide和sdk。源 的編寫 這裡又包括圖形介面的配置,和原始檔中的純 的編寫 編譯 可能要動手自己修改makefile。燒寫 又分為uart模式燒寫和jtag模式燒寫。執行看功能,可能需要抓包。接著簡單展開描述一下 安裝ide和sdk的資料網...