Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.854 pregleda

Najnovija ↓

Re: Source array was not long enough. 26.01.2016. u 23:34 · pre 131 mesec #2
Kada konvertuješ Settings.Serial u ASCII niz bajtova, dobijaš niz duži od 16 elemenata.
Rešenje - ili skrati vrednost Settings.Serial ili proširi byteSerial.
Re: Source array was not long enough. 26.01.2016. u 23:57 · pre 131 mesec #3
Code:

public static CryptoStream GetCryptoReadStream( Stream stream ) 
        {
            ICryptoTransform encryptor;
            Byte[] byteName;
            Byte[] byteSerial;

            byteName=new Byte[32];
            byteName.Initialize();

            byteSerial=new Byte[16];
            byteSerial.Initialize();

            Array.Copy(Encoding.ASCII.GetBytes(Settings.Name),0,byteName,0,
                Math.Min(Encoding.ASCII.GetBytes(Settings.Name).Length,32));
            Array.Copy(Encoding.ASCII.GetBytes(Settings.Serial),0,byteSerial,0,16);

            RijndaelManaged rm;
            rm=new RijndaelManaged();

            encryptor=rm.CreateDecryptor(byteName,byteSerial);

            CryptoStream cryptoStream;
            cryptoStream=new CryptoStream(stream,encryptor,CryptoStreamMode.Read);

            return cryptoStream;
        }


Code:
byteSerial = new Byte[32];


Je li dovoljno ovde reći da je byteSerial sada dužine 32?

Hvala puno na savetu.
Re: Source array was not long enough. 27.01.2016. u 17:05 · pre 130 meseci #5
Code:

Array.Copy(Encoding.ASCII.GetBytes(Settings.Serial),0,byteSerial,0,
     Math.Min(Encoding.ASCII.GetBytes(Settings.Serial).Length,16));
Re: Source array was not long enough. 27.01.2016. u 19:47 · pre 130 meseci #6
Izvini ako sam te razumeo. Kazes ovo:

Code:

Array.Copy(Encoding.ASCII.GetBytes(Settings.Name),0,byteName,0,
                Math.Min(Encoding.ASCII.GetBytes(Settings.Name).Length,32));

            Array.Copy(Encoding.ASCII.GetBytes(Settings.Serial),0,byteSerial,0,16);



da napisem ovako:

Code:

Array.Copy(Encoding.ASCII.GetBytes(Settings.Serial),0,byteSerial,0,
     Math.Min(Encoding.ASCII.GetBytes(Settings.Serial).Length,16));

 Array.Copy(Encoding.ASCII.GetBytes(Settings.Serial),0,byteSerial,0,16);


Ne razumem bas ovo :(
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme