Metadata-Version: 2.1
Name: vlm_security_dll
Version: 0.0.2
Summary: VLM-Security Python SDK
Home-page: https://github.com/VLM-Security/vlm_security_dll
Author: VLM-Security
Author-email: service@vlm-security.com
License: UNKNOWN
Description: - [註冊](#註冊)
        - [安裝](#安裝)
        - [建立產品](#建立產品)
        - [用戶模式](#用戶模式)
        - [推廣策略](#推廣策略)
        - [API使用](#api使用)
        - [驗證卡號方式](#驗證卡號方式)
        - [加值卡](#加值卡)
        - [儲值](#儲值)
        
        
        ## 註冊
        1. 進入[VLM後台](https://my.vlm-security.com/) ，註冊帳號，並到信箱接收驗證信。
        
        
        ## 安裝
        1 . [下載開發包](https://sdk.vlm-security.com/)。
        
        
        2 . 解壓縮後，將 CallInterface/DLL/Win32/VAuth.dll 複製到 C:\Windows\System32
        
        
        3 . 將 CallInterface/VServerGroup.vnc 複製到Python的編譯器同層下。
         
        舉例：我的是在 C:\Users\user1\.virtualenvs\vlm_security_dll_python\Scripts
        
        **注意：其他資料夾也有VServerGroup.vnc只能使用CallInterface的VServerGroup.vnc**
         
        4 . 從Pypi 安裝
        
        `pip install vlm-security-dll`
         
            
           
        ## 建立產品
        1. 登入VLM控制台：
            * 登入程式在開發包裡的 VLM 管理端 ManageTerminal\Developer Terminal\VLM_Develop.exe
            * 打開 VLM 管理端，並且登入您剛剛註冊的帳號密碼
            ![](https://i.imgur.com/lsfNatC.png)
        1. 建立產品：
            * 新建一個產品
            * 產品編號: 具有唯一性，用於識別產品，也可以做為試用卡號
            * 產品名稱: 作者自定義，用於識別管理產品
            * 上傳更新: 支援自動更新，程式需要調用Update 函數，並且攜帶FileReplace.exe
            ![](https://i.imgur.com/TeiafEd.png)
        
        
        1. 設定產品保護認證加密： 
            * 建立產品後，切換頁籤到保護設定。
            ![](https://i.imgur.com/VGOWLny.png)
            * 選擇想要的算法，輸入加密所需密鑰。
            ![](https://i.imgur.com/pru6SkQ.png)
            * 也可以設置多層加密
            ![](https://i.imgur.com/Y3Y6U5E.png)
            
        1. 建立註冊碼
            * 建立認證加密後，切換頁籤到註冊碼。
            ![](https://i.imgur.com/WrlWg5h.png)
            * 選擇你的產品，點選建立，輸入註冊碼的相關參數
            ![](https://i.imgur.com/Lf5HmkA.png)
            * 提交後就會創建相對的註冊碼
            ![](https://i.imgur.com/DaV6TZF.png)
            
        ## 用戶模式
        1. 需對應產品管理的充值卡，使用充值卡可以對使用者或者註冊碼添加時間
        
            ![](https://i.imgur.com/XSmBE8P.png)
            ![](https://i.imgur.com/D9mJJ41.png)
        
        ## 推廣策略
        
           ![](https://i.imgur.com/cpIuaA7.png)
        
        ## API使用
        
        * 使用測試編號
            ```
            vlm_obj = VLM_security.auth_trial()
            ```
        * 使用自己的產品編號
            ```
            vlm_obj = VLM_security(r"C:\Windows\VAuth.dll", "your product code")
            ```
        
        * 初始化
        
            大於等於0表示成功。（連接了某台伺服器並返回伺服器編號），小於0表示連接失敗。失敗時應提示使用者無法連接驗證服務器並退出程序。
            ```    
            result = vlm_obj.init()
            ```
        * 獲取校驗碼
        
            調用Auth並返回成功後調用此函數可獲取返回的校驗碼。
            ```
            return_value = vlm_obj.get_code()
            ```
        * 取插件的版本號
        
            如果你使用的是普通dll版，此功能函數請參考: 純Dll接口說明-取插件版本。
            return_value = 返回插件版本號。
            ```
            return_value = vlm_obj.get_ver()
            ```
        * 驗證碼模式，驗證註冊碼是否有效。
        
            試用卡：是産品編號，則當作測試 用卡處理。
            return_value = 0 成功 -1 失敗 -2 註冊碼被禁用 -3 綁定機器超出數量 -4 註冊碼已在線 -5 已過期
            ```
            return_value = vlm_obj.auth('your register code')
            ```
        
        * 加密 string encrypt(BYTE type, string src, string key)
        
            對GUID字串進行加密，type byte 加密算法 0 表示AES算法，1表示MD5算法，src string GUID字串，需要加密的字串，key string 加密鍵值 type 為1(MD5)加密時此參數無意義。
            return_value = 加密結果，GUID格式的字串
            ```
            return_value = vlm_obj.encrypt(0,'str', '456')
            ```
            
        * 解密 string decrypt(BYTE type, string src, string key)
        
            對GUID字串進行解密， type byte 加密算法 0 表示AES算法，1表示MD5算法，src string GUID字串，需要加密的字串，key string 加密鍵值 type 為1(MD5)加密時此參數無意義。
            return_value = GUID格式的字串
            ```
            return_value = vlm_obj.decrypt(0,'str', '456')
            ```
            
        * 使用者模式，驗證使用者是否有效
        
            return_value = 0 成功 -1 失敗 -2 註冊碼被禁用 -3 綁定機器超限 -4 註冊碼已在線 -5 已過期 -6 使用者餘額不足 -7 使用者無效
            ```
            return_value = vlm_obj.user_auth("user", "password")
            ```
        * 取卡或使用者的使用到期時間。測試卡無到期時間
            ```
            return_value = vlm_obj.get_validity()
            ```
        * 使用者註冊
        
            return_value = 0 成功 ；-1 失敗 ；-8 使用者名重複
            ```
            return_value = vlm_obj.user_register(string user, string pwd,int type, int bind, int multi,int point)
            ```
        * 使用者密碼修改
        
            return_value = 0 表示成功 非0失敗
            ```
            return_value = vlm_obj.change_password(string Old,string New)
            ```
        * 檢查是否到了無效狀態
        
            這函數是為無法回響COM事件的語言比如易語言裡使用的，每隔幾秒調用一次，在可以回響COM事件的語言裡無需此函數，回響OnInvalid事件即可。
            return_value = Bool true:有效 false:無效
            ```
            return_value = vlm_obj.is_valid()
            ```
        * 對此機器進行解綁操作，在驗證成功後方可調用。
        
            return_value = 0:成功 非0失敗
            ```
            return_value = vlm_obj.unbind()
            ```
            
        *  加時
            
             return_value = 0 成功 -1 不存在 -7 無效：已被使用或非加時卡（比如:註冊碼）等等
             ```
             return_value = vlm_obj.add_time('card_id','user_id','Recommender_id')
             ```
            
        * 扣除時間
        
            返回剩餘計數
            ```
            return_value = vlm_obj.deduct_point(int point）
            ```
        * 扣取點數
        
            返回剩餘計數，不能傳小數（比如：0.5）
            ```
            return_value = vlm_obj.deduct_hour(int hour)
            ```
        * 關閉 VLM
        
            調用此函數VLM將停止工作，用於關閉Process前調用（必須調用否則有機率卡死）
            ```
            vlm_obj.release()
            ```
            
        ## 驗證卡號方式
        *  舉例
            我的加密順序是使用第一次密鑰test123，第二次密鑰456test
        
            ![](https://i.imgur.com/nLZ9DZy.png)
            
            1. 解碼法驗證時，必須反過來必須先使用密鑰456test解碼
        
                ```
                encode = vlm_obj.decrypt(0,encode, '456test')
                ```
                
            2. 再使用密鑰test123解碼
        
                ```
                encode = vlm_obj.decrypt(0,encode, 'test123')
                ```
        
        *  注意事項
        
            請在專案個檢察處設定暗樁，請不要把以下的程式碼包裝成函式，並且在一些關鍵的邏輯間，插入以下程式碼
        
            ```
            encode = vlm_obj.get_code()
            encode = vlm_obj.decrypt(0,encode, '456')
            encode = vlm_obj.decrypt(0, encode, '123')
            if encode != vlm_obj.auth_code:
                exit()
            ```
        
        ## 加值卡
        1. 建立產品加密後，切換頁籤到充值卡。
        ![](https://i.imgur.com/7ctHcCW.png)
        1. 輸入天數，點數，數量，點選建立。
        ![](https://i.imgur.com/wDwgRMD.png)
        1. 提交後就會創建相對的充值卡
        ![](https://i.imgur.com/EdY7OPZ.png)
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.6
Description-Content-Type: text/markdown
