diff --git a/PKHeX.Core/Saves/MemeCrypto/MemeCrypto.cs b/PKHeX.Core/Saves/MemeCrypto/MemeCrypto.cs
index 8fa7a92a6..c8dd105ac 100644
--- a/PKHeX.Core/Saves/MemeCrypto/MemeCrypto.cs
+++ b/PKHeX.Core/Saves/MemeCrypto/MemeCrypto.cs
@@ -1,5 +1,4 @@
using System;
-using System.Linq;
using System.Security.Cryptography;
namespace PKHeX.Core
@@ -178,28 +177,4 @@ public static byte[] Resign7(byte[] sav7)
}
}
-
- public static class StringExtentions
- {
- public static byte[] ToByteArray(this string toTransform)
- {
- return Enumerable
- .Range(0, toTransform.Length / 2)
- .Select(i => Convert.ToByte(toTransform.Substring(i * 2, 2), 16))
- .ToArray();
- }
- }
-
- public static class ByteArrayExtensions
- {
- public static byte[] Xor(this byte[] b1, byte[] b2)
- {
- if (b1.Length != b2.Length)
- throw new ArgumentException("Cannot xor two arrays of uneven length!");
- var x = new byte[b1.Length];
- for (var i = 0; i < b1.Length; i++)
- x[i] = (byte)(b1[i] ^ b2[i]);
- return x;
- }
- }
}
diff --git a/PKHeX.Core/Saves/MemeCrypto/MemeKey.cs b/PKHeX.Core/Saves/MemeCrypto/MemeKey.cs
index acdf9ccf0..7dffdb132 100644
--- a/PKHeX.Core/Saves/MemeCrypto/MemeKey.cs
+++ b/PKHeX.Core/Saves/MemeCrypto/MemeKey.cs
@@ -3,7 +3,6 @@
using System.Linq;
using System.Numerics;
using System.Security.Cryptography;
-using PKHeX.Core;
namespace PKHeX.Core
{
@@ -72,7 +71,7 @@ private byte[] GetAesKey(byte[] data)
///
/// Performs Aes Decryption
///
- ///
+ ///
///
internal byte[] AesDecrypt(byte[] input)
{
@@ -122,7 +121,7 @@ internal byte[] AesDecrypt(byte[] input)
{
var curblock = new byte[0x10];
Array.Copy(outdata, i * 0x10, curblock, 0, 0x10);
- ByteArrayExtensions.Xor(AesEcbDecrypt(key, curblock), temp).CopyTo(outdata, i * 0x10);
+ AesEcbDecrypt(key, curblock).Xor(temp).CopyTo(outdata, i * 0x10);
curblock.CopyTo(temp, 0);
}
@@ -135,7 +134,7 @@ internal byte[] AesDecrypt(byte[] input)
///
/// Perform Aes Encryption
///
- ///
+ ///
///
internal byte[] AesEncrypt(byte[] input)
{
@@ -172,7 +171,7 @@ internal byte[] AesEncrypt(byte[] input)
var curblock = new byte[0x10];
Array.Copy(outdata, (data.Length / 0x10 - 1 - i) * 0x10, curblock, 0, 0x10);
byte[] temp2 = curblock.Xor(subkey);
- Array.Copy(ByteArrayExtensions.Xor(AesEcbEncrypt(key, temp2), temp), 0, outdata, (data.Length / 0x10 - 1 - i) * 0x10, 0x10);
+ Array.Copy(AesEcbEncrypt(key, temp2).Xor(temp), 0, outdata, (data.Length / 0x10 - 1 - i) * 0x10, 0x10);
temp2.CopyTo(temp, 0);
}
@@ -358,4 +357,28 @@ public static bool IsValidPokeKeyIndex(int index)
private static readonly byte[] D_3 = "00775455668FFF3CBA3026C2D0B26B8085895958341157AEB03B6B0495EE57803E2186EB6CB2EB62A71DF18A3C9C6579077670961B3A6102DABE5A194AB58C3250AED597FC78978A326DB1D7B28DCCCB2A3E014EDBD397AD33B8F28CD525054251".ToByteArray();
#endregion
}
+
+ public static class StringExtentions
+ {
+ public static byte[] ToByteArray(this string toTransform)
+ {
+ return Enumerable
+ .Range(0, toTransform.Length / 2)
+ .Select(i => Convert.ToByte(toTransform.Substring(i * 2, 2), 16))
+ .ToArray();
+ }
+ }
+
+ public static class ByteArrayExtensions
+ {
+ public static byte[] Xor(this byte[] b1, byte[] b2)
+ {
+ if (b1.Length != b2.Length)
+ throw new ArgumentException("Cannot xor two arrays of uneven length!");
+ var x = new byte[b1.Length];
+ for (var i = 0; i < b1.Length; i++)
+ x[i] = (byte)(b1[i] ^ b2[i]);
+ return x;
+ }
+ }
}
\ No newline at end of file