diff --git a/src/GBNewEnergy.Protocol/GBNewEnergy.Protocol.csproj b/src/GBNewEnergy.Protocol/GBNewEnergy.Protocol.csproj
index 58b2083..09a6046 100644
--- a/src/GBNewEnergy.Protocol/GBNewEnergy.Protocol.csproj
+++ b/src/GBNewEnergy.Protocol/GBNewEnergy.Protocol.csproj
@@ -9,6 +9,8 @@
+
+
diff --git a/src/GBNewEnergy.Protocol/NEEncryptFactory.cs b/src/GBNewEnergy.Protocol/NEEncryptFactory.cs
index 029b40a..cf18c6a 100644
--- a/src/GBNewEnergy.Protocol/NEEncryptFactory.cs
+++ b/src/GBNewEnergy.Protocol/NEEncryptFactory.cs
@@ -17,11 +17,7 @@ namespace GBNewEnergy.Protocol
case NEEncryptMethod.Exception:
return null;
case NEEncryptMethod.AES128:
-#if NETCOREAPP2_1
- return new NE_AES128EncryptImpl_NetCore2(nEConfigs);
-#else
- return new NEAES128EncryptImpl(nEConfigs);
-#endif
+ return new NEAES128EncryptImpl(nEConfigs);
case NEEncryptMethod.RSA:
return new NERSAEncryptImpl(nEConfigs);
default:
diff --git a/src/GBNewEnergy.Protocol/NEEncrypts/NEAES128EncryptImpl.cs b/src/GBNewEnergy.Protocol/NEEncrypts/NEAES128EncryptImpl.cs
index 6120c82..8508e70 100644
--- a/src/GBNewEnergy.Protocol/NEEncrypts/NEAES128EncryptImpl.cs
+++ b/src/GBNewEnergy.Protocol/NEEncrypts/NEAES128EncryptImpl.cs
@@ -21,22 +21,17 @@ namespace GBNewEnergy.Protocol.NEEncrypts
}
public byte[] Encrypt(byte[] buffer)
- {
- using (var ms = new MemoryStream())
+ {
+ using (Aes encryptor = Aes.Create())
{
- using (var AES = new RijndaelManaged())
- {
- AES.KeySize = 256;
- AES.BlockSize = 128;
- var key = new Rfc2898DeriveBytes(_nEConfigs.NEEncryptKeyBytes, 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(buffer, 0, buffer.Length);
- cs.Close();
- }
+ Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(_nEConfigs.NEEncryptKey, saltBytes);
+ encryptor.Key = pdb.GetBytes(32);
+ encryptor.IV = pdb.GetBytes(16);
+ using (MemoryStream ms = new MemoryStream())
+ using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateEncryptor(),CryptoStreamMode.Write))
+ {
+ cs.Write(buffer, 0, buffer.Length);
+ cs.Close();
return ms.ToArray();
}
}
@@ -44,22 +39,19 @@ namespace GBNewEnergy.Protocol.NEEncrypts
public byte[] Decrypt(byte[] buffer)
{
- using (var ms = new MemoryStream())
- using (var AES = new RijndaelManaged())
+ using (Aes encryptor = Aes.Create())
{
- AES.KeySize = 256;
- AES.BlockSize = 128;
- var key = new Rfc2898DeriveBytes(_nEConfigs.NEEncryptKeyBytes, saltBytes, 1000);
- AES.Key = key.GetBytes(32);
- AES.IV = key.GetBytes(16);
- AES.Mode = CipherMode.CBC;
- using (var cs = new CryptoStream(ms, AES.CreateDecryptor(), CryptoStreamMode.Write))
- {
- cs.Write(buffer, 0, buffer.Length);
- cs.Close();
- }
+ Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(_nEConfigs.NEEncryptKey, saltBytes);
+ encryptor.Key = pdb.GetBytes(32);
+ encryptor.IV = pdb.GetBytes(16);
+ using (MemoryStream ms = new MemoryStream())
+ using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateDecryptor(),CryptoStreamMode.Write))
+ {
+ cs.Write(buffer, 0, buffer.Length);
+ cs.Close();
return ms.ToArray();
- }
+ }
+ }
}
}
}
diff --git a/src/GBNewEnergy.Protocol/NEGlobalConfigs.cs b/src/GBNewEnergy.Protocol/NEGlobalConfigs.cs
index fca9978..09ed2bb 100644
--- a/src/GBNewEnergy.Protocol/NEGlobalConfigs.cs
+++ b/src/GBNewEnergy.Protocol/NEGlobalConfigs.cs
@@ -12,10 +12,6 @@ namespace GBNewEnergy.Protocol
///
public string NEEncryptKey { get; set; }
///
- /// 密钥
- ///
- public byte[] NEEncryptKeyBytes => Encoding.UTF8.GetBytes(NEEncryptKey);
- ///
/// 数据单元加密方式
/// 0x01:数据不加密;0x02:数据经过 RSA 算法加密;0x03:数据经过 AES128 位算法加密;“0xFE”表示异常,“0xFF”表示无效
///
diff --git a/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/Program.cs b/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/Program.cs
index cfeeadb..1fad826 100644
--- a/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/Program.cs
+++ b/src/NEEncrypts.Tests/NEEncryptsNETCore.Test/Program.cs
@@ -14,12 +14,12 @@ namespace NEEncryptsNETCore.Test
{
NEEncryptKey = "smallchi"
});
- string str =Guid.NewGuid().ToString("N");
+ string str ="aaaaaa111111";
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.WriteLine("解密后:" + Encoding.ASCII.GetString(nE_AES128EncryptImpl.Decrypt(encrypt)));
Console.ReadKey();
}
}