From 5d82634160a000234a80906b2f7ac771fb146404 Mon Sep 17 00:00:00 2001
From: SmallChi <564952747@qq.com>
Date: Sun, 10 Jun 2018 23:27:00 +0800
Subject: [PATCH] =?UTF-8?q?1.=E5=8A=A0=E5=AF=86AES128=E6=B5=8B=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/GBNewEnergy.Protocol/INEEncrypt.cs | 2 +-
src/GBNewEnergy.Protocol/NEEncryptFactory.cs | 4 +-
...8EncryptImpl.cs => NEAES128EncryptImpl.cs} | 24 ++++------
...re2.cs => NEAES128EncryptImpl_NetCore2.cs} | 6 +--
..._RSAEncryptImpl.cs => NERSAEncryptImpl.cs} | 6 +--
src/GBNewEnergy.Protocol/NEPackage.cs | 2 +-
.../NEEncryptsNET4.Test.csproj | 6 +++
.../NEEncryptsNET4.Test/Program.cs | 47 ++++++-------------
.../NEEncryptsNET45.Test.csproj | 6 +++
.../NEEncryptsNET45.Test/Program.cs | 16 ++++++-
.../NEEncryptsNETCore.Test.csproj | 4 ++
.../NEEncryptsNETCore.Test/Program.cs | 18 ++++++-
12 files changed, 80 insertions(+), 61 deletions(-)
rename src/GBNewEnergy.Protocol/NEEncrypts/{NE_AES128EncryptImpl.cs => NEAES128EncryptImpl.cs} (76%)
rename src/GBNewEnergy.Protocol/NEEncrypts/{NE_AES128EncryptImpl_NetCore2.cs => NEAES128EncryptImpl_NetCore2.cs} (92%)
rename src/GBNewEnergy.Protocol/NEEncrypts/{NE_RSAEncryptImpl.cs => NERSAEncryptImpl.cs} (74%)
diff --git a/src/GBNewEnergy.Protocol/INEEncrypt.cs b/src/GBNewEnergy.Protocol/INEEncrypt.cs
index c1ca80d..c06d9ec 100644
--- a/src/GBNewEnergy.Protocol/INEEncrypt.cs
+++ b/src/GBNewEnergy.Protocol/INEEncrypt.cs
@@ -7,6 +7,6 @@ namespace GBNewEnergy.Protocol
public interface INEEncrypt
{
byte[] Encrypt(byte[] buffer);
- byte[] Eecrypt(byte[] buffer);
+ byte[] Decrypt(byte[] buffer);
}
}
diff --git a/src/GBNewEnergy.Protocol/NEEncryptFactory.cs b/src/GBNewEnergy.Protocol/NEEncryptFactory.cs
index 6619778..029b40a 100644
--- a/src/GBNewEnergy.Protocol/NEEncryptFactory.cs
+++ b/src/GBNewEnergy.Protocol/NEEncryptFactory.cs
@@ -20,10 +20,10 @@ namespace GBNewEnergy.Protocol
#if NETCOREAPP2_1
return new NE_AES128EncryptImpl_NetCore2(nEConfigs);
#else
- return new NE_AES128EncryptImpl(nEConfigs);
+ return new NEAES128EncryptImpl(nEConfigs);
#endif
case NEEncryptMethod.RSA:
- return new NE_RSAEncryptImpl(nEConfigs);
+ return new NERSAEncryptImpl(nEConfigs);
default:
return null;
}
diff --git a/src/GBNewEnergy.Protocol/NEEncrypts/NE_AES128EncryptImpl.cs b/src/GBNewEnergy.Protocol/NEEncrypts/NEAES128EncryptImpl.cs
similarity index 76%
rename from src/GBNewEnergy.Protocol/NEEncrypts/NE_AES128EncryptImpl.cs
rename to src/GBNewEnergy.Protocol/NEEncrypts/NEAES128EncryptImpl.cs
index d50ad70..6120c82 100644
--- a/src/GBNewEnergy.Protocol/NEEncrypts/NE_AES128EncryptImpl.cs
+++ b/src/GBNewEnergy.Protocol/NEEncrypts/NEAES128EncryptImpl.cs
@@ -6,7 +6,7 @@ using System.Text;
namespace GBNewEnergy.Protocol.NEEncrypts
{
- public class NE_AES128EncryptImpl : INEEncrypt
+ public class NEAES128EncryptImpl : INEEncrypt
{
private readonly NEGlobalConfigs _nEConfigs;
@@ -15,14 +15,13 @@ namespace GBNewEnergy.Protocol.NEEncrypts
///
private readonly static byte[] saltBytes = new byte[9] { 13, 34, 27, 67, 189, 255, 104, 219, 122 };
- public NE_AES128EncryptImpl(NEGlobalConfigs nEConfigs)
+ public NEAES128EncryptImpl(NEGlobalConfigs nEConfigs)
{
_nEConfigs = nEConfigs;
}
public byte[] Encrypt(byte[] buffer)
- {
- byte[] decryptedBytes = null;
+ {
using (var ms = new MemoryStream())
{
using (var AES = new RijndaelManaged())
@@ -33,24 +32,21 @@ namespace GBNewEnergy.Protocol.NEEncrypts
AES.Key = key.GetBytes(32);
AES.IV = key.GetBytes(16);
AES.Mode = CipherMode.CBC;
- using (var cs = new CryptoStream(ms, AES.CreateDecryptor(), CryptoStreamMode.Write))
+ using (var cs = new CryptoStream(ms, AES.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(buffer, 0, buffer.Length);
cs.Close();
}
- decryptedBytes = ms.ToArray();
+ return ms.ToArray();
}
}
- return decryptedBytes;
}
- public byte[] Eecrypt(byte[] buffer)
+ public byte[] Decrypt(byte[] buffer)
{
- byte[] decryptedBytes = null;
using (var ms = new MemoryStream())
+ using (var AES = new RijndaelManaged())
{
- using (var AES = new RijndaelManaged())
- {
AES.KeySize = 256;
AES.BlockSize = 128;
var key = new Rfc2898DeriveBytes(_nEConfigs.NEEncryptKeyBytes, saltBytes, 1000);
@@ -62,10 +58,8 @@ namespace GBNewEnergy.Protocol.NEEncrypts
cs.Write(buffer, 0, buffer.Length);
cs.Close();
}
- decryptedBytes = ms.ToArray();
- }
- }
- return decryptedBytes;
+ return ms.ToArray();
+ }
}
}
}
diff --git a/src/GBNewEnergy.Protocol/NEEncrypts/NE_AES128EncryptImpl_NetCore2.cs b/src/GBNewEnergy.Protocol/NEEncrypts/NEAES128EncryptImpl_NetCore2.cs
similarity index 92%
rename from src/GBNewEnergy.Protocol/NEEncrypts/NE_AES128EncryptImpl_NetCore2.cs
rename to src/GBNewEnergy.Protocol/NEEncrypts/NEAES128EncryptImpl_NetCore2.cs
index 67de7d0..125275a 100644
--- a/src/GBNewEnergy.Protocol/NEEncrypts/NE_AES128EncryptImpl_NetCore2.cs
+++ b/src/GBNewEnergy.Protocol/NEEncrypts/NEAES128EncryptImpl_NetCore2.cs
@@ -6,7 +6,7 @@ using System.Text;
namespace GBNewEnergy.Protocol.NEEncrypts
{
- public class NE_AES128EncryptImpl_NetCore2 : INEEncrypt
+ public class NEAES128EncryptImpl_NetCore2 : INEEncrypt
{
private readonly NEGlobalConfigs _nEConfigs;
@@ -15,12 +15,12 @@ namespace GBNewEnergy.Protocol.NEEncrypts
///
private readonly static byte[] saltBytes = new byte[9] { 13, 34, 27, 67, 189, 255, 104, 219, 122 };
- public NE_AES128EncryptImpl_NetCore2(NEGlobalConfigs nEConfigs)
+ public NEAES128EncryptImpl_NetCore2(NEGlobalConfigs nEConfigs)
{
_nEConfigs = nEConfigs;
}
- public byte[] Eecrypt(byte[] buffer)
+ public byte[] Decrypt(byte[] buffer)
{
var iv = new byte[16];
var cipher = new byte[16];
diff --git a/src/GBNewEnergy.Protocol/NEEncrypts/NE_RSAEncryptImpl.cs b/src/GBNewEnergy.Protocol/NEEncrypts/NERSAEncryptImpl.cs
similarity index 74%
rename from src/GBNewEnergy.Protocol/NEEncrypts/NE_RSAEncryptImpl.cs
rename to src/GBNewEnergy.Protocol/NEEncrypts/NERSAEncryptImpl.cs
index 8a8172d..27118bd 100644
--- a/src/GBNewEnergy.Protocol/NEEncrypts/NE_RSAEncryptImpl.cs
+++ b/src/GBNewEnergy.Protocol/NEEncrypts/NERSAEncryptImpl.cs
@@ -5,16 +5,16 @@ using System.Text;
namespace GBNewEnergy.Protocol.NEEncrypts
{
#warning 待加解密
- public class NE_RSAEncryptImpl : INEEncrypt
+ public class NERSAEncryptImpl : INEEncrypt
{
private readonly NEGlobalConfigs _nEConfigs;
- public NE_RSAEncryptImpl(NEGlobalConfigs nEConfigs)
+ public NERSAEncryptImpl(NEGlobalConfigs nEConfigs)
{
_nEConfigs = nEConfigs;
}
- public byte[] Eecrypt(byte[] buffer)
+ public byte[] Decrypt(byte[] buffer)
{
throw new NotImplementedException();
}
diff --git a/src/GBNewEnergy.Protocol/NEPackage.cs b/src/GBNewEnergy.Protocol/NEPackage.cs
index 7175fba..a84e2b6 100644
--- a/src/GBNewEnergy.Protocol/NEPackage.cs
+++ b/src/GBNewEnergy.Protocol/NEPackage.cs
@@ -129,7 +129,7 @@ namespace GBNewEnergy.Protocol
Array.Copy(Buffer, HeaderFixedByteLength, bodiesBytes, 0, bodiesBytes.Length);
if (NEConfigs.Encrypt != null)
{
- Bodies = NEBodiesFactory.GetNEBodiesByMsgId(MsgId, NEConfigs.Encrypt.Eecrypt(bodiesBytes),NEConfigs);
+ Bodies = NEBodiesFactory.GetNEBodiesByMsgId(MsgId, NEConfigs.Encrypt.Decrypt(bodiesBytes),NEConfigs);
}
else
{
diff --git a/src/NEEncrypts.Tests/NEEncryptsNET4.Test/NEEncryptsNET4.Test.csproj b/src/NEEncrypts.Tests/NEEncryptsNET4.Test/NEEncryptsNET4.Test.csproj
index 2badda2..3f609c2 100644
--- a/src/NEEncrypts.Tests/NEEncryptsNET4.Test/NEEncryptsNET4.Test.csproj
+++ b/src/NEEncrypts.Tests/NEEncryptsNET4.Test/NEEncryptsNET4.Test.csproj
@@ -43,5 +43,11 @@
+
+
+ {1934f3a6-1396-46c2-bfd6-1e2dc1a26e3a}
+ GBNewEnergy.Protocol
+
+
\ No newline at end of file
diff --git a/src/NEEncrypts.Tests/NEEncryptsNET4.Test/Program.cs b/src/NEEncrypts.Tests/NEEncryptsNET4.Test/Program.cs
index 7a26f1e..4ca66ac 100644
--- a/src/NEEncrypts.Tests/NEEncryptsNET4.Test/Program.cs
+++ b/src/NEEncrypts.Tests/NEEncryptsNET4.Test/Program.cs
@@ -1,9 +1,11 @@
-using System;
+using GBNewEnergy.Protocol.NEEncrypts;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
+using GBNewEnergy.Protocol.Extensions;
namespace NEEncryptsNET4.Test
{
@@ -11,39 +13,18 @@ namespace NEEncryptsNET4.Test
{
static void Main(string[] args)
{
- }
-
- public static byte[] AESEncryptBytes(byte[] bytesToBeEncrypted, byte[] passwordBytes)
- {
- byte[] encryptedBytes = null;
-
- var saltBytes = new byte[9] { 13, 34, 27, 67, 189, 255, 104, 219, 122 };
-
- using (var ms = new MemoryStream())
- {
- using (var AES = new RijndaelManaged())
+ NEAES128EncryptImpl nE_AES128EncryptImpl = new NEAES128EncryptImpl(
+ new GBNewEnergy.Protocol.NEGlobalConfigs()
{
- AES.KeySize = 256;
- AES.BlockSize = 128;
-
- var key = new Rfc2898DeriveBytes(passwordBytes, saltBytes, 1000);
- AES.Key = key.GetBytes(32);
- AES.IV = key.GetBytes(16);
-
- AES.Mode = CipherMode.CBC;
-
- using (var cs = new CryptoStream(ms, AES.CreateEncryptor(),
- CryptoStreamMode.Write))
- {
- cs.Write(bytesToBeEncrypted, 0, bytesToBeEncrypted.Length);
- cs.Close();
- }
-
- encryptedBytes = ms.ToArray();
- }
- }
-
- return encryptedBytes;
+ NEEncryptKey="smallchi"
+ });
+ string str = "aaasssddd123";
+ var bytes = Encoding.UTF8.GetBytes(str);
+ var encrypt=nE_AES128EncryptImpl.Encrypt(bytes);
+ Console.WriteLine("原数据:"+ str);
+ Console.WriteLine("加密后:"+ encrypt.ToHexString());
+ Console.WriteLine("解密后:" + Encoding.UTF8.GetString(nE_AES128EncryptImpl.Decrypt(encrypt)));
+ Console.ReadKey();
}
}
}
diff --git a/src/NEEncrypts.Tests/NEEncryptsNET45.Test/NEEncryptsNET45.Test.csproj b/src/NEEncrypts.Tests/NEEncryptsNET45.Test/NEEncryptsNET45.Test.csproj
index d13b991..4772fa8 100644
--- a/src/NEEncrypts.Tests/NEEncryptsNET45.Test/NEEncryptsNET45.Test.csproj
+++ b/src/NEEncrypts.Tests/NEEncryptsNET45.Test/NEEncryptsNET45.Test.csproj
@@ -47,5 +47,11 @@
+
+
+ {1934f3a6-1396-46c2-bfd6-1e2dc1a26e3a}
+ GBNewEnergy.Protocol
+
+
\ No newline at end of file
diff --git a/src/NEEncrypts.Tests/NEEncryptsNET45.Test/Program.cs b/src/NEEncrypts.Tests/NEEncryptsNET45.Test/Program.cs
index a41c47c..59f7acc 100644
--- a/src/NEEncrypts.Tests/NEEncryptsNET45.Test/Program.cs
+++ b/src/NEEncrypts.Tests/NEEncryptsNET45.Test/Program.cs
@@ -1,4 +1,6 @@
-using System;
+using GBNewEnergy.Protocol.Extensions;
+using GBNewEnergy.Protocol.NEEncrypts;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -10,6 +12,18 @@ namespace NEEncryptsNET45.Test
{
static void Main(string[] args)
{
+ NEAES128EncryptImpl nE_AES128EncryptImpl = new NEAES128EncryptImpl(
+ new GBNewEnergy.Protocol.NEGlobalConfigs()
+ {
+ NEEncryptKey = "smallchi"
+ });
+ string str = "aaasssddd123";
+ var bytes = Encoding.UTF8.GetBytes(str);
+ var encrypt = nE_AES128EncryptImpl.Encrypt(bytes);
+ Console.WriteLine("原数据:" + str);
+ Console.WriteLine("加密后:" + encrypt.ToHexString());
+ Console.WriteLine("解密后:" + Encoding.UTF8.GetString(nE_AES128EncryptImpl.Decrypt(encrypt)));
+ Console.ReadKey();
}
}
}
diff --git a/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/NEEncryptsNETCore.Test.csproj b/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/NEEncryptsNETCore.Test.csproj
index 23df604..8062fb2 100644
--- a/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/NEEncryptsNETCore.Test.csproj
+++ b/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/NEEncryptsNETCore.Test.csproj
@@ -5,4 +5,8 @@
netcoreapp2.1
+
+
+
+
diff --git a/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/Program.cs b/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/Program.cs
index bcec350..cfeeadb 100644
--- a/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/Program.cs
+++ b/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/Program.cs
@@ -1,4 +1,7 @@
-using System;
+using GBNewEnergy.Protocol.NEEncrypts;
+using GBNewEnergy.Protocol.Extensions;
+using System;
+using System.Text;
namespace NEEncryptsNETCore.Test
{
@@ -6,7 +9,18 @@ namespace NEEncryptsNETCore.Test
{
static void Main(string[] args)
{
- Console.WriteLine("Hello World!");
+ NEAES128EncryptImpl nE_AES128EncryptImpl = new NEAES128EncryptImpl(
+ new GBNewEnergy.Protocol.NEGlobalConfigs()
+ {
+ NEEncryptKey = "smallchi"
+ });
+ string str =Guid.NewGuid().ToString("N");
+ var bytes = Encoding.UTF8.GetBytes(str);
+ var encrypt = nE_AES128EncryptImpl.Encrypt(bytes);
+ Console.WriteLine("原数据:" + str);
+ Console.WriteLine("加密后:" + encrypt.ToHexString());
+ Console.WriteLine("解密后:" + Encoding.UTF8.GetString(nE_AES128EncryptImpl.Decrypt(encrypt)));
+ Console.ReadKey();
}
}
}