@@ -219,52 +219,20 @@ private async Task ReadRecvPipeAsync(PipeReader recvReader, CancellationToken to
219219
220220 //开始解密
221221 var encryptedBuffer = packageBuffer . Slice ( PACKAGE_TOTAL_LENGTH_LENGTH ) . ToArray ( ) ;
222- var retBuffer = dec . TransformFinalBlock ( encryptedBuffer , 0 , encryptedBuffer . Length ) ;
223- packageTotalLength += retBuffer . Length ;
224- /*
225- var encryptedBuffer = packageBuffer.Slice(PACKAGE_TOTAL_LENGTH_LENGTH);
226- var inLength = 0;
227- while (encryptedBuffer.Length > 0)
228- {
229- inLength = Math.Min(decryptBuffer1.Length, (int)encryptedBuffer.Length);
230- encryptedBuffer.Slice(0, inLength).CopyTo(decryptBuffer1);
231- encryptedBuffer = encryptedBuffer.Slice(inLength);
232- if (inLength < dec.InputBlockSize)
233- {
234- var v = dec.InputBlockSize - inLength;
235- Array.Fill(decryptBuffer1, (byte)v, inLength, v);
236- }
237- var outLength = dec.TransformBlock(decryptBuffer1, 0, inLength, decryptBuffer2, 0);
238- decryptBuffer2.CopyTo(decryptPipe.Writer.GetMemory(outLength));
239- decryptPipe.Writer.Advance(outLength);
222+ var decryptBuffer = dec . TransformFinalBlock ( encryptedBuffer , 0 , encryptedBuffer . Length ) ;
223+ packageTotalLength += decryptBuffer . Length ;
240224
241- packageTotalLength += outLength;
242- }
243- {
244- var finnalInLength = 0;
245- if (inLength == dec.InputBlockSize)
246- {
247- decryptBuffer1[0] = (byte)dec.InputBlockSize;
248- finnalInLength = 1;
249- }
250- var finalData = dec.TransformFinalBlock(decryptBuffer1, 0, finnalInLength);
251- if (finalData.Length > 0)
252- {
253- finalData.CopyTo(decryptPipe.Writer.GetMemory(finalData.Length));
254- decryptPipe.Writer.Advance(finalData.Length);
255- packageTotalLength += finalData.Length;
256- }
257- }
258- _ = decryptPipe.Writer.FlushAsync();
225+ decryptBuffer . CopyTo ( decryptPipe . Writer . GetMemory ( decryptBuffer . Length ) ) ;
226+ decryptPipe . Writer . Advance ( decryptBuffer . Length ) ;
227+
228+ _ = decryptPipe . Writer . FlushAsync ( ) ;
259229 ret = await decryptPipe . Reader . ReadAtLeastAsync ( packageTotalLength , token ) . ConfigureAwait ( false ) ;
260- */
230+
261231 //解密完成,释放缓存
262232 currentReader ? . AdvanceTo ( packageBuffer . End ) ;
263233
264- //packageBuffer = ret.Buffer;
265- packageBuffer = new ReadOnlySequence < byte > ( new byte [ PACKAGE_TOTAL_LENGTH_LENGTH ] . Concat ( retBuffer ) . ToArray ( ) ) ;
266-
267- currentReader = null ; //decryptPipe.Reader;
234+ packageBuffer = ret . Buffer ;
235+ currentReader = decryptPipe . Reader ;
268236 }
269237
270238 //如果设置了压缩
0 commit comments