Skip to content

Commit

Permalink
Merge pull request #9 from catcherwong/master
Browse files Browse the repository at this point in the history
Fix RSA fails in Linux/OS X
  • Loading branch information
myloveCc authored Jan 23, 2018
2 parents 99e6e1e + d3badeb commit 91c0415
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
20 changes: 11 additions & 9 deletions src/NETCore.Encrypt/EncryptProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ private static string GetRandomStr(int length)
StringBuilder num = new StringBuilder();

Random rnd = new Random(DateTime.Now.Millisecond);
for (int i = 0;i < length;i++)
for (int i = 0; i < length; i++)
{
num.Append(arrChar[rnd.Next(0, arrChar.Length)].ToString());
}
Expand Down Expand Up @@ -235,7 +235,7 @@ public static string AESDecrypt(string data, string key)
{
try
{
byte[] tmp = new byte[encryptedBytes.Length ];
byte[] tmp = new byte[encryptedBytes.Length];
int len = cryptoStream.Read(tmp, 0, encryptedBytes.Length);
byte[] ret = new byte[len];
Array.Copy(tmp, 0, ret, 0, len);
Expand Down Expand Up @@ -361,7 +361,7 @@ public static string RSAEncrypt(string publicKey, string srcString)
using (RSA rsa = RSA.Create())
{
rsa.FromJsonString(publicKey);
byte[] encryptBytes = rsa.Encrypt(Encoding.UTF8.GetBytes(srcString), RSAEncryptionPadding.OaepSHA512);
byte[] encryptBytes = rsa.Encrypt(Encoding.UTF8.GetBytes(srcString), RSAEncryptionPadding.Pkcs1);
return encryptBytes.ToHexString();
}
}
Expand All @@ -380,7 +380,7 @@ public static string RSADecrypt(string privateKey, string srcString)
{
rsa.FromJsonString(privateKey);
byte[] srcBytes = srcString.ToBytes();
byte[] decryptBytes = rsa.Decrypt(srcBytes, RSAEncryptionPadding.OaepSHA512);
byte[] decryptBytes = rsa.Decrypt(srcBytes, RSAEncryptionPadding.Pkcs1);
return Encoding.UTF8.GetString(decryptBytes);
}
}
Expand All @@ -406,8 +406,10 @@ public static RSA RSAFromString(string rsaKey)
/// <returns></returns>
public static RSAKey CreateRsaKey(RsaSize rsaSize = RsaSize.R2048)
{
using (RSA rsa = RSA.Create((int) rsaSize))
using (RSA rsa = RSA.Create())
{
rsa.KeySize = (int)RsaSize.R2048;

string publicKey = rsa.ToJsonString(false);
string privateKey = rsa.ToJsonString(true);

Expand Down Expand Up @@ -440,13 +442,13 @@ public static string Md5(string srcString, MD5Length length = MD5Length.L32)
byte[] bytes_md5_out = md5.ComputeHash(bytes_md5_in);

str_md5_out = length == MD5Length.L32
? BitConverter.ToString(bytes_md5_out)
? BitConverter.ToString(bytes_md5_out)
: BitConverter.ToString(bytes_md5_out, 4, 8);

str_md5_out = str_md5_out.Replace("-", "");
return str_md5_out;
}
}
}
#endregion

#region HMACMD5
Expand Down Expand Up @@ -730,7 +732,7 @@ private static string CreateMachineKey(int length)
rng.GetBytes(random);

StringBuilder machineKey = new StringBuilder(length);
for (int i = 0;i < random.Length;i++)
for (int i = 0; i < random.Length; i++)
{
machineKey.Append(string.Format("{0:X2}", random[i]));
}
Expand Down
2 changes: 1 addition & 1 deletion src/NETCore.Encrypt/NETCore.Encrypt.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetFramework>netstandard2.0</TargetFramework>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<Company>Lvcc</Company>
<Product>Lvcc</Product>
Expand Down

0 comments on commit 91c0415

Please sign in to comment.