예제 #1
0
 public NLSBSteganographerDecoder(FileInDecodingStream audioFileStream, Stream dataFileStreamOut, byte[] key)
 {
     AudioFileStream   = audioFileStream;
     DataFileStreamOut = dataFileStreamOut;
     Rng = new KeyedRng(key);
     AudioFileStream.MetadataCallback = MetadataCallback;
 }
예제 #2
0
 /**
  * <summary>audioFileStream must be initialized prior to passing
  * dataFileStream must be open prior to passing</summary>
  */
 public NLSBSteganographerEncoder(FileInDecodingStream audioFileStream, Stream dataFileStream, byte[] key, int dataFileSize)
 {
     if ((audioFileStream.GetTotalSamples() * audioFileStream.GetChannels()) < ((uint)dataFileSize * 8))
     {
         throw new InsufficientAudioException();
     }
     AudioFileStream = audioFileStream;
     AudioFileStream.MetadataCallback = MetadataCallback;
     DataFileStream = dataFileStream;
     for (int i = 0; i < dataFileSize * 8; i++)
     {
         BitPermutationIndices.Add(i);
     }
     Rng = new KeyedRng(key);
 }