如何使用InstallScript加密字符串

时间:2009-12-16 16:36:25

标签: encryption installshield installscript

我正在使用InstallScript MSI项目构建安装程序。在安装过程中,我将一些信息保存到本地文件中。此文件是根据用户的首选项创建的,可能包含敏感信息。

我想加密这些信息但找不到任何InstallScript函数来处理这个问题。我知道我可以加密功能文件,但是这个文件是在安装过程中创建的,不是特定功能的一部分。

有没有人知道使用InstallScript加密字符串的方法?

谢谢!

1 个答案:

答案 0 :(得分:1)

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;

希望这会有所帮助。