2009-12-16 46 views
0

我使用InstallScript MSI項目構建安裝程序。在安裝過程中,我將一些信息保存到本地文件。該文件是根據用戶的偏好創建的,並且可能包含敏感信息。如何使用InstallScript加密字符串

我想加密這些信息,但找不到任何InstallScript函數來處理這個問題。我知道我可以加密功能文件,但是這個文件是在安裝過程中創建的,並不是特定功能的一部分。

有誰知道使用InstallScript加密字符串的方法嗎?

謝謝!

+0

缺乏應對意味着沒有辦法嗎? – Tamar 2009-12-17 19:54:43

+2

我認爲你需要爲此編寫一個自定義操作。沒有內置的加密功能。 – KMoraz 2009-12-19 21:42:52

+0

感謝您的回覆KMoraz :) – Tamar 2009-12-21 15:17:47

回答

1

Like KMoraz寫道 - 我不知道這個內置函數。

對於它的價值 - 我這樣做的方式是使用外部COM DLL爲我執行加密/解密。
您當然需要獲取/創建這樣的DLL才能在安裝時使用和部署它。
(我用純的InstallScript安裝 - 沒有MSI)

function STRING Encryption(bEncrypt,sInput) 
    STRING sEncryptionKey, sResult; 
    OBJECT oEncryption; 
begin 
    try 
     // create encryption key 
     sEncryptionKey = "key"; 

     // create COM object 
     set oEncryption = CoCreateObject("Encryption"); 
     if (IsObject(oEncryption)) then 
      // set encryption key 
      oEncryption.Initialize(sEncryptionKey); 
      if (bEncrypt = TRUE) then 
       sResult = oEncryption.Encode(sInput); 
      else  
       sResult = oEncryption.Decode(sInput); 
      endif; 
     endif; 
     // free object 
     set oEncryption = NOTHING; 
    catch 
     sResult = ""; 
    endcatch; 

    return sResult; 
end; 

希望這有助於以任何方式。

+0

感謝您的迴應!最後InstallShield很難與我們簡單地移動到Wix ... :) – Tamar 2010-03-03 15:14:28

+0

是的,我知道你在說什麼 - 這不是很愉快。 – Dror 2010-03-03 15:42:12