使用 JSL 加密插件開發腳本我維護了幾個插件,對於其中一些插件,我想在建置時更新所包含腳本中的幾個變數。 所以我想編寫一個腳本,打開一個腳本文件,進行一些串聯或替換,然後加密整個文件並將其保存到某個位置(對於腳本文件列表)。 然後我可以使用出色的插件構建器@Justin_Chilton建置加載項。 我找不到用於加密腳本的 JSL 函數,它是否存在或可以使用其他實用程式完成嗎?
自動化和腳本編寫資料混合與清理回覆:使用 JSL 加密腳本以進行插件開發謝謝。 在我意識到它想要成為 JSON 解決方案之前,該變數是第一個版本遺留下來的。
這類似於 JMP 對 PER 檔案(不是 JSON)所做的操作;您也可以透過將其他變數新增到串聯中來鎖定其他變量,例如使用者或網站名稱。
您應該在運行應用程式後使用 ShowGlobals() 以確保您的秘密不太容易被發現。
回覆:使用 JSL 加密腳本以進行插件開發謝謝@Craige_Hales這是一個有趣的解決方案,嵌入了到期日和校驗和。
對第 5 行中的編碼錯誤的小修復:
mySecretKey = "The quick brown fox";
aa = [=> ];
aa["expiredate"] = "1jan2022";
aa["checkcode"] = Hex( Blob MD5( Char To Blob( mySecretKey || aa["expiredate"] ) ) );
Save Text File( "$temp/license.txt", As JSON Expr( aa ) );
///////////////////
bb = Parse JSON( Load Text File( "$temp/license.txt" ) );
If( Hex( Blob MD5( Char To Blob( mySecretKey || bb["expiredate"] ) ) ) == bb["checkcode"],
Print( "ok: " || bb["expiredate"] ),
Print( "bad" )
);
回覆:使用 JSL 加密腳本以進行插件開發像這樣的東西?
mySecretKey = "The quick brown fox";
aa = [=> ];
aa["expiredate"] = "1jan2022";
aa["checkcode"] = Hex( Blob MD5( Char To Blob( mySecretKey || expiredate ) ) );
Save Text File( "$temp/license.txt", As JSON Expr( aa ) );
///////////////////
bb = Parse JSON( Load Text File( "$temp/license.txt" ) );
If( Hex( Blob MD5( Char To Blob( mySecretKey || bb["expiredate"] ) ) ) == bb["checkcode"],
Print( "ok: " || bb["expiredate"] ),
Print( "bad" )
);
將密鑰嵌入加密腳本中,以便您可以檢查它。
該文件看起來像
{“checkcode”:“B7611676E821AA1ECC4CB5D6F02C6BA9”,“過期”:“1jan2022”}
回覆:使用 JSL 加密腳本以進行插件開發感謝您的建議!
這個想法是創建自毀式加載項,該加載項可以工作一段時間,並在某個日期後停止工作(保護 IP)。 因此,每次建置加載項時,我都希望在腳本中硬編碼一個新的到期日期,這樣就不能透過在某處編輯日期欄位來解決這個問題。 如果我將到期日期放在外部腳本文件中,我每次都必須手動加密。 出於同樣的原因,數據表不是一個選項。
回覆:使用 JSL 加密腳本以進行插件開發也許使用僅包含值的 jsl/jmp/plaintext 文件,並使用加密腳本中的 include() 或 open() 或 loadtextfile() 。
對於一組命名參數來說,小型資料表可能是個不錯的選擇。 或包含用於設定一些變數的 JSL 片段。 名為 X.jsl 且僅包含文字 42 的檔案可以載入為 parm = include("x.jsl");如果 X 包含 {42,"Fred"} ,您可以使用列表來做更複雜的集合,例如 {parm,name} = include("x.jsl");
回覆:使用 JSL 加密腳本以進行插件開發可以使用 Main Menu() 函數透過 JSL 傳遞加密腳本指令。
Main Menu( "encrypt script","Script 10" );
其中「Script 10」是要加密的腳本視窗的名稱。
然而,接下來發生的是彈出詢問密碼的對話框窗口,我認為這不是你想要的