Changeset 1237


Ignore:
Timestamp:
Mar 10, 2010, 9:21:40 PM (12 years ago)
Author:
pretzsch
Message:

+ Converter plugin: Added conversion from byte to CryptoolStream

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/Converter/Converter.cs

    r1147 r1237  
    9696            get
    9797            {
    98                 if (inputOne is byte[] && settings.Converter == 8)
    99                 {
    100                     if (inputOne == null)
     98                if (inputOne == null)
     99                    return null;
     100
     101                if (settings.Converter == 8)
     102                {
     103                    byte[] streamData = null;
     104
     105                    if (inputOne is byte[])
     106                        streamData = (byte[])inputOne;
     107                    else if (inputOne is byte)
     108                        streamData = new byte[] { (byte)inputOne };
     109
     110                    if (streamData != null)
     111                    {
     112                        CryptoolStream stream = new CryptoolStream();
     113                        listCryptoolStreamsOut.Add(stream);
     114                        stream.OpenRead(streamData);
     115                        return stream;
     116                    }
     117                    else
     118                    {
     119                        GuiLogMessage("Conversion from " + inputOne.GetType().Name + " to Cryptoolstream is not yet implemented", NotificationLevel.Error);
    101120                        return null;
    102 
    103                     CryptoolStream stream = new CryptoolStream();
    104                     listCryptoolStreamsOut.Add(stream);
    105                     stream.OpenRead((byte[])inputOne);
    106                     return stream;
     121                    }
    107122                }
    108123                else
     
    135150                GuiLogMessage("Laufe! " + InputOne.ToString(), NotificationLevel.Debug);
    136151
    137             if (!(InputOne is int[] || InputOne is byte[] || InputOne is CryptoolStream))
     152            if (!(InputOne is int[] || InputOne is CryptoolStream))
    138153            {
    139154                if (inputOne is bool)
     
    190205                            {
    191206                                int temp = Convert.ToInt32(inpString);
    192                                
     207
    193208                                Output = temp;
    194209                                ProgressChanged(100, 100);
     
    206221                            {
    207222                                short temp = Convert.ToInt16(inpString);
    208                              
     223
    209224                                Output = temp;
    210225                                ProgressChanged(100, 100);
     
    221236                            {
    222237                                byte temp = Convert.ToByte(inpString);
    223                                
     238
    224239                                Output = temp;
    225240                                ProgressChanged(100, 100);
     
    256271
    257272                                BigInteger temp = BigInteger.parseExpression(inpString);
    258                                
     273
    259274                                Output = temp;
    260275                                ProgressChanged(100, 100);
     
    283298
    284299                                    int test = BitConverter.ToInt32(temp, 0);
    285                                  
     300
    286301
    287302                                    Output = temp;
     
    308323
    309324                                    BigInteger test = new BigInteger(temp);
    310                                  
     325
    311326                                    Output = temp;
    312327
     
    319334                                }
    320335                                try // can be read as double
    321                                 {   
    322                                    
    323                                    
    324                                    
    325                                         double tempDouble = Convert.ToDouble(DoubleCleanup(inpString));
    326                                         byte[] temp = BitConverter.GetBytes(tempDouble);
    327 
    328                                         double test = BitConverter.ToDouble(temp, 0);
    329                                         GuiLogMessage("Converting String to double is not safe. Digits may have been cut off " + test.ToString(), NotificationLevel.Warning);
    330 
    331                                         Output = temp;
    332 
    333                                         ProgressChanged(100, 100);
    334                                         break;
    335                                    
    336                                  
    337                                  
     336                                {
     337
     338
     339
     340                                    double tempDouble = Convert.ToDouble(DoubleCleanup(inpString));
     341                                    byte[] temp = BitConverter.GetBytes(tempDouble);
     342
     343                                    double test = BitConverter.ToDouble(temp, 0);
     344                                    GuiLogMessage("Converting String to double is not safe. Digits may have been cut off " + test.ToString(), NotificationLevel.Warning);
     345
     346                                    Output = temp;
     347
     348                                    ProgressChanged(100, 100);
     349                                    break;
     350
     351
     352
    338353                                }
    339354                                catch (Exception e)
     
    345360
    346361
    347                            
     362
    348363                                ProgressChanged(100, 100);
    349364                                break;
    350                                
    351                                
    352                                
     365
     366
     367
    353368                            }
    354369                            else // numeric interpretation NOT selected:
     
    374389                                        Output = Encoding.ASCII.GetBytes(inpString.ToCharArray());
    375390                                        break;
    376                                     case ConverterSettings.EncodingTypes.BigEndianUnicode:                             
     391                                    case ConverterSettings.EncodingTypes.BigEndianUnicode:
    377392                                        Output = Encoding.BigEndianUnicode.GetBytes(inpString.ToCharArray());
    378393                                        break;
     
    381396                                        break;
    382397                                }
    383                                
    384 
    385 
    386                              
     398
     399
     400
     401
    387402                                ProgressChanged(100, 100);
    388403                                break;
    389404                            }
    390                            
     405
    391406                        }
    392407                    case 8: //cryptoolstream
    393408                        {
    394                             GuiLogMessage("Conversion to Cryptoolstream not yet implemented", NotificationLevel.Error);
     409
     410                            if (inputOne is byte[] || inputOne is byte)
     411                            {
     412                                OnPropertyChanged("Output");
     413                            }
     414                            else
     415                            {
     416                                GuiLogMessage("Conversion from " + inputOne.GetType().Name + " to Cryptoolstream is not yet implemented", NotificationLevel.Error);
     417                            }
    395418                            break;
    396419                        }
    397420                    default:
    398421                        {
    399                          
    400                             break;
    401                         }
    402                 }
    403 
    404             }
    405             else if (inputOne is byte[] && settings.Converter == 8)
    406             {
    407                 OnPropertyChanged("Output");
     422
     423                            break;
     424                        }
     425                }
     426
    408427            }
    409428            else
     
    416435            if (temp != null)
    417436            {
    418                
     437
    419438                switch (settings.Presentation)
    420439                {
Note: See TracChangeset for help on using the changeset viewer.