wasSharpNET – Diff between revs 14 and 27

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 14 Rev 27
Line 3... Line 3...
3 // Please see: http://www.gnu.org/licenses/gpl.html for legal details, // 3 // Please see: http://www.gnu.org/licenses/gpl.html for legal details, //
4 // rights of fair usage, the disclaimer and warranty conditions. // 4 // rights of fair usage, the disclaimer and warranty conditions. //
5 /////////////////////////////////////////////////////////////////////////// 5 ///////////////////////////////////////////////////////////////////////////
Line 6... Line 6...
6   6  
-   7 using System;
7 using System; 8 using System.Collections.Generic;
-   9 using System.IO;
8 using System.IO; 10 using System.Linq;
9 using System.Text; 11 using System.Text;
Line 10... Line 12...
10 using System.Threading.Tasks; 12 using System.Threading.Tasks;
11   13  
Line 22... Line 24...
22 { 24 {
23 return BitConverter.ToString(sha1.ComputeHash(data)).Replace("-", ""); 25 return BitConverter.ToString(sha1.ComputeHash(data)).Replace("-", "");
24 } 26 }
Line 25... Line 27...
25   27  
-   28 /// <summary>
-   29 /// Return a 40 character hex representation of a SHA1 hash from multiple sequential byte arrays.
-   30 /// </summary>
-   31 /// <param name="sha1">the SHA1 hash object</param>
-   32 /// <param name="data">the byte data to compute the hash from</param>
-   33 public static string ToHex(this System.Security.Cryptography.SHA1 sha1, IEnumerable<byte[]> data)
-   34 {
-   35 return sha1.ToHex(data.Where(i => i != null).SelectMany(i => i).ToArray());
-   36 }
-   37  
26 /// <summary> 38 /// <summary>
27 /// Return a 40 character hex representation of a SHA1 hash. 39 /// Return a 40 character hex representation of a SHA1 hash.
28 /// </summary> 40 /// </summary>
29 /// <param name="sha1">the SHA1 hash object</param> 41 /// <param name="sha1">the SHA1 hash object</param>
30 /// <param name="data">the string data to compute the hash from</param> 42 /// <param name="data">the string data to compute the hash from</param>
Line 63... Line 75...
63 /// <param name="data">the data to hash</param> 75 /// <param name="data">the data to hash</param>
64 /// <param name="outStream">the output stream</param> 76 /// <param name="outStream">the output stream</param>
65 public static async Task CopyToAsync(this System.Security.Cryptography.SHA1 sha1, byte[] data, Stream outStream) 77 public static async Task CopyToAsync(this System.Security.Cryptography.SHA1 sha1, byte[] data, Stream outStream)
66 { 78 {
67 var buffer = new char[1]; 79 var buffer = new char[1];
68 using (MemoryStream SHA1OutputStream = new MemoryStream()) 80 using (var SHA1OutputStream = new MemoryStream())
69 { 81 {
-   82 using (var SHA1InputStream =
70 using (StringReader SHA1InputStream = new StringReader(BitConverter.ToString(sha1.ComputeHash(data)).Replace("-", ""))) 83 new StringReader(BitConverter.ToString(sha1.ComputeHash(data)).Replace("-", "")))
71 { 84 {
72 int count; 85 int count;
73 while ((count = await SHA1InputStream.ReadAsync(buffer, 0, 1)) != 0) 86 while ((count = await SHA1InputStream.ReadAsync(buffer, 0, 1)) != 0)
74 { -  
75 switch (buffer[0]) 87 switch (buffer[0])
76 { 88 {
77 case '-': 89 case '-':
78 continue; 90 continue;
79 default: 91 default:
80 SHA1OutputStream.WriteByte((byte)buffer[0]); 92 SHA1OutputStream.WriteByte((byte) buffer[0]);
81 break; 93 break;
82 } 94 }
83 } -  
84 } 95 }
85 SHA1OutputStream.Position = 0L; 96 SHA1OutputStream.Position = 0L;
86 await SHA1OutputStream.CopyToAsync(outStream); 97 await SHA1OutputStream.CopyToAsync(outStream);
87 } 98 }
88 } 99 }
89 } 100 }
90 } 101 }
91   102