Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

System.Security.Cryptography problem

Discussion in 'Scripting' started by sushanta1991, Feb 4, 2013.

  1. sushanta1991

    sushanta1991

    Joined:
    Apr 3, 2011
    Posts:
    305
    Hi guys :)
    I was trying to encrypt and decrypt my xml file, So i used a script given by http://unitynoobs.blogspot.in/2012/01/xml-encrypting.html
    At first this script works really well but when i created a new project and added these scripts, now i am getting a error
    Unknown identifier: 'Convert'.
    But if i duplicate my previous project and work on it than i got no errors. why ?

    I convert the C# script to js , I am not posting my whole script, because Only the encryption and decryption part is not working, precisely the "Convert" identifier.

    So these are the functions... Please suggest me what is the reason behind this error.
    Code (csharp):
    1.  
    2. import System.Collections;
    3. import System.Security.Cryptography;
    4. import System.Text;
    5. import System.Xml;
    6. import System.IO;
    7.  
    8.  
    9. function Decrypt (toDecrypt : String)
    10.     {
    11.         var keyArray : byte[] = UTF8Encoding.UTF8.GetBytes ("12345678901234567890123456789012");
    12.         // AES-256 key
    13.         var toEncryptArray : byte[] = Convert.FromBase64String (toDecrypt);
    14.         var rDel : RijndaelManaged = new RijndaelManaged ();
    15.         rDel.Key = keyArray;
    16.         rDel.Mode = CipherMode.ECB;
    17.         // http://msdn.microsoft.com/en-us/library/system.security.cryptography.ciphermode.aspx
    18.         rDel.Padding = PaddingMode.PKCS7;
    19.         // better lang support
    20.         var cTransform : ICryptoTransform = rDel.CreateDecryptor ();
    21.         var resultArray : byte[] = cTransform.TransformFinalBlock (toEncryptArray, 0, toEncryptArray.Length);
    22.         return UTF8Encoding.UTF8.GetString (resultArray);
    23.     }
    24.  
    25. function Encrypt (toEncrypt : String)
    26.     {
    27.         var keyArray : byte[] = UTF8Encoding.UTF8.GetBytes ("12345678901234567890123456789012");
    28.         // 256-AES key
    29.         var toEncryptArray : byte[] = UTF8Encoding.UTF8.GetBytes (toEncrypt);
    30.         var rDel : RijndaelManaged = new RijndaelManaged ();
    31.         rDel.Key = keyArray;
    32.         rDel.Mode = CipherMode.ECB;
    33.         // http://msdn.microsoft.com/en-us/library/system.security.cryptography.ciphermode.aspx
    34.         rDel.Padding = PaddingMode.PKCS7;
    35.         // better lang support
    36.         var cTransform : ICryptoTransform = rDel.CreateEncryptor ();
    37.         var resultArray : byte[] = cTransform.TransformFinalBlock (toEncryptArray, 0, toEncryptArray.Length);
    38.         return Convert.ToBase64String (resultArray, 0, resultArray.Length);
    39.     }
    40.  
     
  2. UnityCoder

    UnityCoder

    Joined:
    Dec 8, 2011
    Posts:
    534
    Just add System. before Convert or write import System on top of your code.
     
  3. sushanta1991

    sushanta1991

    Joined:
    Apr 3, 2011
    Posts:
    305
    wow it works :) thanks very very much @UnityCoder.