wasSharpNET – Diff between revs 5 and 10
?pathlinks?
Rev 5 | Rev 10 | |||
---|---|---|---|---|
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.IO; |
|
- | 9 | using System.Text; |
||
Line 8... | Line 10... | |||
8 | using System.Text; |
10 | using System.Threading.Tasks; |
|
9 | |
11 | |
|
10 | namespace wasSharpNET.Cryptography |
12 | namespace wasSharpNET.Cryptography |
|
11 | { |
13 | { |
|
Line 18... | Line 20... | |||
18 | public static string ToHex(this System.Security.Cryptography.SHA1 sha1, byte[] data) |
20 | public static string ToHex(this System.Security.Cryptography.SHA1 sha1, byte[] data) |
|
19 | { |
21 | { |
|
20 | return BitConverter.ToString(sha1.ComputeHash(data)).Replace("-", ""); |
22 | return BitConverter.ToString(sha1.ComputeHash(data)).Replace("-", ""); |
|
21 | } |
23 | } |
|
Line -... | Line 24... | |||
- | 24 | |
||
22 | |
25 | |
|
23 | public static string ToHex(this System.Security.Cryptography.SHA1 sha1, string data) |
26 | public static string ToHex(this System.Security.Cryptography.SHA1 sha1, string data) |
|
24 | { |
27 | { |
|
25 | return BitConverter.ToString(sha1.ComputeHash(Encoding.UTF8.GetBytes(data))).Replace("-", ""); |
28 | return BitConverter.ToString(sha1.ComputeHash(Encoding.UTF8.GetBytes(data))).Replace("-", ""); |
|
- | 29 | } |
||
- | 30 | |
||
- | 31 | /////////////////////////////////////////////////////////////////////////// |
||
- | 32 | // Copyright (C) Wizardry and Steamworks 2014 - License: GNU GPLv3 // |
||
- | 33 | /////////////////////////////////////////////////////////////////////////// |
||
- | 34 | /// <summary> |
||
- | 35 | /// Compute the SHA1 hash of an array of bytes and copy the result to the output stream as a hexadecimal string. |
||
- | 36 | /// </summary> |
||
- | 37 | /// <param name="sha1">the SHA1 object to use</param> |
||
- | 38 | /// <param name="data">the data to hash</param> |
||
- | 39 | /// <param name="outStream">the output stream</param> |
||
- | 40 | public static async Task CopyToAsync(this System.Security.Cryptography.SHA1 sha1, byte[] data, Stream outStream) |
||
- | 41 | { |
||
- | 42 | var buffer = new char[1]; |
||
- | 43 | using (MemoryStream SHA1OutputStream = new MemoryStream()) |
||
- | 44 | { |
||
- | 45 | using (StringReader SHA1InputStream = new StringReader(BitConverter.ToString(sha1.ComputeHash(data)).Replace("-", ""))) |
||
- | 46 | { |
||
- | 47 | int count; |
||
- | 48 | while ((count = await SHA1InputStream.ReadAsync(buffer, 0, 1)) != 0) |
||
- | 49 | { |
||
- | 50 | switch (buffer[0]) |
||
- | 51 | { |
||
- | 52 | case '-': |
||
- | 53 | continue; |
||
- | 54 | default: |
||
- | 55 | SHA1OutputStream.WriteByte((byte)buffer[0]); |
||
- | 56 | break; |
||
- | 57 | } |
||
- | 58 | } |
||
- | 59 | } |
||
- | 60 | SHA1OutputStream.Position = 0L; |
||
- | 61 | await SHA1OutputStream.CopyToAsync(outStream); |
||
- | 62 | } |
||
26 | } |
63 | } |
|
27 | } |
64 | } |
|
28 | } |
65 | } |