Home Forums ActiveX components Xceed Encryption for ActiveX Decrypting String using HexToBinary

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
  • User (Old forums)
    Post count: 23064
    #42988 |


    I am currently working on converting a method we have written using Classic ASP into a C# .Net DLL and I’ve come across a stumbling block. 

    What we have is an encrypted string stored in a registry setting that we retrieve and decrypt using a HexToBinary function.  I have managed to duplicate the Hex string that is created by the ASP code via C# using a modified HexToBinary function and receive a variant byte array back when I call FromString method of the XceedEncryption class:


    public static object HexToBinary(string strHexValue, XceedEncryption xDecrypter)


    int i = 0;

    long lngVal;

    string tmpHexValue = “”;

    string strBinaryValue = “”;

    object varBinaryValue = new object();

    StringBuilder sb = new StringBuilder();



    while (i < strHexValue.Length)


    tmpHexValue = strHexValue.Substring(i, 2);

    lngVal =

    long.Parse(tmpHexValue, NumberStyles.AllowHexSpecifier);



    i += 2;


    strBinaryValue = sb.ToString();

    varBinaryValue = xDecrypter.FromString(strBinaryValue);


    catch (Exception ex)




    return varBinaryValue;



    From the ASP code I saw that the result of the call to the Decrypt method is simply cast to a string and there you get your resulting decrypted string.  This won’t work in C#, at least I can’t get it to so I just have the byte array:


    varDataToDecrypt = HexToBinary(strEncrypt, xDecrypter);

    varDataDecypted = (

    byte[])xDecrypter.Decrypt(ref varDataToDecrypt, true);


    I am getting a variant byte array back from the Decrypt method in C# so it looks like it good until I need to return the actual decrypted string.  I’m just not sure how to get the resulting string from the byte array.  I’m not all that great with C# yet (if you can’t tell) so I apologize for any sloppy code.

    Thanks in advance,


    Imported from legacy forums. Posted by Tony (had 3995 views)

    Xceed Support
    Post count: 5658

    Hi Tony,


    To get the resulting string, data, from your byte array, varDataDecypted, you will need to use a Text Encoding as follow:


    string data = System.Text.Encoding.Unicode.GetString( ( byte[] )varDataDecypted );





    Imported from legacy forums. Posted by Mohamed [Xceed] (had 514 views)

    User (Old forums)
    Post count: 23064

    Thanks for the reply Mohamed.

    It returned part of the string I was looking for but most of it was just garbled, like special character boxes.  I must have not set things up right.

    Imported from legacy forums. Posted by Tony (had 5744 views)

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.