summaryrefslogtreecommitdiff
path: root/src/mscorlib/src/System/Security/Util/Hex.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/mscorlib/src/System/Security/Util/Hex.cs')
-rw-r--r--src/mscorlib/src/System/Security/Util/Hex.cs126
1 files changed, 0 insertions, 126 deletions
diff --git a/src/mscorlib/src/System/Security/Util/Hex.cs b/src/mscorlib/src/System/Security/Util/Hex.cs
deleted file mode 100644
index 4ca1cf678b..0000000000
--- a/src/mscorlib/src/System/Security/Util/Hex.cs
+++ /dev/null
@@ -1,126 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-/*
- *
- * Operations to convert to and from Hex
- *
- */
-
-namespace System.Security.Util
-{
- using System;
- using System.Security;
- using System.Diagnostics.Contracts;
- internal static class Hex
- {
- // converts number to hex digit. Does not do any range checks.
- static char HexDigit(int num) {
- return (char)((num < 10) ? (num + '0') : (num + ('A' - 10)));
- }
-
- public static String EncodeHexString(byte[] sArray)
- {
- String result = null;
-
- if(sArray != null) {
- char[] hexOrder = new char[sArray.Length * 2];
-
- int digit;
- for(int i = 0, j = 0; i < sArray.Length; i++) {
- digit = (int)((sArray[i] & 0xf0) >> 4);
- hexOrder[j++] = HexDigit(digit);
- digit = (int)(sArray[i] & 0x0f);
- hexOrder[j++] = HexDigit(digit);
- }
- result = new String(hexOrder);
- }
- return result;
- }
-
- internal static string EncodeHexStringFromInt(byte[] sArray) {
- String result = null;
- if(sArray != null) {
- char[] hexOrder = new char[sArray.Length * 2];
-
- int i = sArray.Length;
- int digit, j=0;
- while (i-- > 0) {
- digit = (sArray[i] & 0xf0) >> 4;
- hexOrder[j++] = HexDigit(digit);
- digit = sArray[i] & 0x0f;
- hexOrder[j++] = HexDigit(digit);
- }
- result = new String(hexOrder);
- }
- return result;
- }
-
- public static int ConvertHexDigit(Char val)
- {
- if (val <= '9' && val >= '0')
- return (val - '0');
- else if (val >= 'a' && val <= 'f')
- return ((val - 'a') + 10);
- else if (val >= 'A' && val <= 'F')
- return ((val - 'A') + 10);
- else
- throw new ArgumentException( Environment.GetResourceString( "ArgumentOutOfRange_Index" ) );
- }
-
-
- public static byte[] DecodeHexString(String hexString)
- {
- if (hexString == null)
- throw new ArgumentNullException( nameof(hexString) );
- Contract.EndContractBlock();
-
- bool spaceSkippingMode = false;
-
- int i = 0;
- int length = hexString.Length;
-
- if ((length >= 2) &&
- (hexString[0] == '0') &&
- ( (hexString[1] == 'x') || (hexString[1] == 'X') ))
- {
- length = hexString.Length - 2;
- i = 2;
- }
-
- // Hex strings must always have 2N or (3N - 1) entries.
-
- if (length % 2 != 0 && length % 3 != 2)
- {
- throw new ArgumentException( Environment.GetResourceString( "Argument_InvalidHexFormat" ) );
- }
-
- byte[] sArray;
-
- if (length >=3 && hexString[i + 2] == ' ')
- {
- spaceSkippingMode = true;
-
- // Each hex digit will take three spaces, except the first (hence the plus 1).
- sArray = new byte[length / 3 + 1];
- }
- else
- {
- // Each hex digit will take two spaces
- sArray = new byte[length / 2];
- }
-
- int digit;
- int rawdigit;
- for (int j = 0; i < hexString.Length; i += 2, j++) {
- rawdigit = ConvertHexDigit(hexString[i]);
- digit = ConvertHexDigit(hexString[i+1]);
- sArray[j] = (byte) (digit | (rawdigit << 4));
- if (spaceSkippingMode)
- i++;
- }
- return(sArray);
- }
- }
-}